📅  最后修改于: 2023-12-03 15:05:21.447000             🧑  作者: Mango
SSH是Secure Shell的简写,是一种安全加密协议,广泛应用于Linux服务器的远程访问和文件传输。SSH连接需要身份验证,常用的身份验证方式是用户名和密码,但是这种方式存在安全性问题,比如密码容易被暴力破解或者键盘记录器记录下来,因此需要使用SSH密钥(SSH Key)进行身份验证。
SSH Key包括公钥和私钥,公钥存储在服务器上,私钥存储在客户端。客户端在连接服务器时使用私钥进行身份验证,服务器使用公钥验证客户端身份。
SSH Key Gen是生成SSH密钥对的命令行工具,可以在Linux、MacOS、Windows等操作系统上使用。
ssh-keygen
,按回车键;id_rsa
和id_rsa.pub
两个文件,分别为私钥和公钥。~/.ssh/authorized_keys
文件中;~/.ssh/
目录下;常用的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