一、生成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,并注意保护好私钥。