SSH 使用密钥登录

tao
发布于2021-11-30

每次使用 SSH 连接服务器都需要输入密码非常的不方便,可以使用密钥进行 SSH 免密登录,大致步骤就是客户端创建公钥私钥,并将公钥复制到服务器,然后客户端使用私钥登录到服务器。

在需要使用密钥登录的客户端下执行以下命令生成公钥私钥:

ssh-keygen -t rsa

命令执行后会有提示,输入三次回车即可,执行完成后会在当前用户的 ~/.ssh 目录下生成两个文件 id_rsa 和 id_rsa.pub 文件,前者是私钥文件,后者是公钥文件。

将生成的公钥文件拷贝到被登陆服务器上,然后执行以下命令将公钥追加到服务器上的 ~/.ssh/authorized_keys 文件中:

cat id_rsa.pub >> authorized_keys

同时要保证 .ssh 和 authorized_keys 都只有用户自己有写权限。否则验证无效。

chmod -R 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

如果为了安全性考虑可以在配置了密钥登录之后禁用密码登录,编辑 /etc/ssh/sshd_config 文件将 PasswordAuthentication 配置项修改为 no 即可。