您的位置:

详解windows ssh-keygen

一、生成ssh key

ssh key用于在两台电脑之间建立安全的通信渠道,ssh-keygen命令可以生成ssh key。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

以上代码会生成一个名为id_rsa和一个名为id_rsa.pub的文件,其中id_rsa是你的私钥,id_rsa.pub是你的公钥。-t参数指定了密钥的类型,这里使用rsa;-b参数指定了生成密钥的长度,这里是4096位;-C参数指定了注释,这里是你的email。

生成ssh key后,你需要将公钥id_rsa.pub添加到你要连接的服务器上的authorized_keys文件中。

二、使用ssh连接服务器

使用ssh连接服务器需要将私钥id_rsa加载到ssh-agent中,让ssh-agent在连接时自动使用。

ssh-add ~/.ssh/id_rsa

以上代码会将id_rsa添加到ssh-agent中,如果私钥有密码保护,执行此命令时需要输入密码。

接下来你可以使用ssh命令连接到服务器中,例如:

ssh username@servername

此时你可以直接输入密码进行连接,或者如果你已经将公钥添加到authorized_keys文件中,可以直接连接。

三、管理ssh key

ssh-keygen命令支持多种管理ssh key的操作,例如创建、导出、删除、修改密码等操作。

1. 导出公钥

ssh-keygen -f id_rsa.pub -e -m pem > id_rsa.pem.pub

以上代码将id_rsa.pub转换为pem格式,并保存到id_rsa.pem.pub文件中。

2. 删除ssh key

ssh-keygen -f ~/.ssh/id_rsa -R servername

以上代码将删除在服务器servername上使用的与本机的id_rsa公钥相匹配的所有密钥。

3. 修改密码

ssh-keygen -p -f id_rsa

以上代码会提示你输入旧密码和新密码,如果私钥没有密码保护,只需输入一次新密码即可。

四、总结

ssh-keygen命令是管理ssh key的重要工具,通过ssh key可以在服务器之间建立安全的通信渠道,保护你的数据安全。建议定期更新ssh key,并注意保护好私钥。