📜  ssh key gen - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:05:21.447000             🧑  作者: Mango

SSH Key Gen - 生成SSH密钥

简介

SSH是Secure Shell的简写,是一种安全加密协议,广泛应用于Linux服务器的远程访问和文件传输。SSH连接需要身份验证,常用的身份验证方式是用户名和密码,但是这种方式存在安全性问题,比如密码容易被暴力破解或者键盘记录器记录下来,因此需要使用SSH密钥(SSH Key)进行身份验证。

SSH Key包括公钥和私钥,公钥存储在服务器上,私钥存储在客户端。客户端在连接服务器时使用私钥进行身份验证,服务器使用公钥验证客户端身份。

SSH Key Gen是生成SSH密钥对的命令行工具,可以在Linux、MacOS、Windows等操作系统上使用。

使用方法
生成SSH密钥
  1. 打开终端或命令行工具;
  2. 输入以下命令:ssh-keygen,按回车键;
  3. 根据提示输入密钥文件保存地址(默认为~/.ssh/id_rsa)和加密密级(默认为2048 bit);
  4. 在提示输入passphrase时,可以输入一个密码来保护私钥,也可以直接回车留空;
  5. 生成SSH密钥成功后,会在指定目录下生成id_rsaid_rsa.pub两个文件,分别为私钥和公钥。
使用SSH Key
  1. 在服务器上创建一个新用户,并将其公钥添加到该用户的~/.ssh/authorized_keys文件中;
  2. 将私钥复制到客户端的~/.ssh/目录下;
  3. 使用SSH客户端连接服务器时,选择使用SSH Key进行身份验证。
命令参数

常用的SSH Key Gen命令参数如下:

|参数|说明| |---|---| |-t|指定密钥类型。支持的类型有:rsa、dsa、ecdsa、ed25519等,默认为rsa。| |-b|指定密钥长度。默认为2048 bit。| |-C|添加注释,注释会存储在公钥文件中,方便标识和管理。| |-f|指定密钥文件名。如果不指定,密钥会默认保存在~/.ssh/目录下。| |-N|设置密码。如果设置了密码,则使用密钥连接服务器时需要输入密码。|

示例代码

以下是生成SSH密钥的示例代码:

# 生成SSH密钥,密钥类型为rsa,默认长度为2048 bit,保存在~/.ssh/id_rsa目录下
ssh-keygen

# 生成SSH密钥,保存在指定目录下
ssh-keygen -f /path/to/key

# 生成SSH密钥,指定密钥类型为ed25519,密码为空
ssh-keygen -t ed25519 -N "" -C "my key" -f /path/to/key
参考链接