配置无密码SSH登陆
最近云计算课程组分配了一些云主机给到修读这门课的学生。在此记录一下配置相关用户登录的操作。
首先生成一个新的密钥对,这里使用Ed25519算法来生成密钥对。Ed25519的安全性在RSA~3000位左右,但是性能大大提升。使用下面的代码生成密钥对。注意将电子邮件地址替换为你的电子邮件地址。
1
ssh-keygen -t ed25519 -C "<your-mail-address@example.com>"
随后的步骤可以默认,无论是有密码还是无密码。此处建议将生成的密钥文件保存在默认位置,方便接下来的配置。
若密钥对设置了密码,建议将其添加到ssh-agent,这样才能做到真正的无密码登录以及不必每次指定用于登录的私钥。
1
ssh-add -K ~/.ssh/id_ed25519
现在将公钥信息设置到远程主机上。使用下面的代码设置远程主机的SSH认证。此处默认远程主机已经可以使用SSH进行用户名-密码登录。
1
ssh-copy-id -i ~/.ssh/ed25519.pub user@host
接下来主机会要求输入远程账户密码,输入后即可退出登录验证配置是否成功。再次输入ssh登录主机的命令,会直接进入到home的话,即代表配置完成。此时可以看到在home目录下的.ssh文件夹中有authorized_keys
这个文件,里面记录了用于登录这台主机的公钥。
本文由作者按照 CC BY 4.0 进行授权