SSH 无密码登录及 putty 设置
生成公钥和私钥
Linux 系统中绝大部分的发行版都是用 OpenSSH,所以生成公钥私钥的时候最好用 ssh-keygen
命令,如果用 putty 自带的 PUTTYGEN.EXE 生成会不兼容 OpenSSH,从而会导致登录时出现 server refused our key
错误。
用 root 登录后运行命令如下。
1 | ssh-keygen -t rsa |
在 /root/.ssh/
目录下生成了2个文件,id_rsa
为私钥,id_rsa.pub
为公钥。私钥自己下载到本地电脑妥善保存,公钥则可以任意公开。
导入公钥
1 | cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys |
更改 SSH 配置文件
修改 SSH 的配置文件 /etc/ssh/sshd_config
,找到下面3行:
1 | #RSAAuthentication yes |
将前面的 # 去掉后保存。找到下面:
1 | PasswordAuthentication yes |
修改为:
1 | PasswordAuthentication no |
重启 SSH 服务,运行命令:
1 | service sshd restart |
制作用于 putty 的私钥
使用 WinScp 等工具将 VPS 上的 /root/.ssh/id_rsa
下载到本地,利用 PUTTYGEN.EXE 转换为 putty 用的 ppk 文件。
点击 File,Load private key,导入 /root/.ssh/id_rsa
文件。成功后的图片如下所示:
点击 Save private key 按钮,生成一个后缀为 ppk 的文件。这个文件就是已经制作好的用于 putty 无密码登录的密钥了,妥善保存。
至此,就只能用私钥登录到 VPS 了,安全性大大增强。