通过ssh证书让putty自动登录

再复杂的密码也没有证书安全,再简单的密码也没有证书方便。有些人因为Putty无法保存密码,进而抛弃了这个免费、小巧的远程登录工具。条条大陆通罗马,其实可以ssh证书的方式让putty安全、方便的实现自动登录。

step0. 所需软件
putty.exe, puttygen.exe(官方)
step1. 生成密钥
运行puttygen.exe,按照默认即可:选择SSH-2 RSA1024位的key、空白的Key passphrase,然后点击Generate,在空白区域不断随机挪动光标,直到它产生key。将它生成的那一行Public key粘贴到文件里,比如叫id_rsa2.pub;然后点击”Save private key“,将对应的密钥保存下来,如id_rsa2.prv。
注意:不要直接使用点Save public key按钮后保存的文件,它的格式在后面没法用.
step2. 配置远程帐户
登录远程帐户,将Public key即id_rsa2.pub里的内容添加到相应的文件里:
mkdir ~/.ssh
cat > ~/.ssh/authorized_keys

(此时粘贴内容,然后在新行里按Ctrl + D结束)
同时应该确保~/.ssh目录的权限是700。
step3. 配置Putty
进行基本设置之后,在Connection / Data分类的Auto-login username里填写你远程的用户名;然后在下面的SSH / Auth分类的Private key file for authentication里选择刚才保存的密钥文件id_rsa2.prv。
然后保存设置,登录即可。
注意事项:
– 生成的文件,尤其是私有文件id_rsa2.prv, 应严加防范妥善保存
– 通过ssh-keygen命令生成的key没法在putty里直接使用,需要经过puttygen.exe转换
– ssh-keygen的使用方法请参考《基于SSH密钥对的自动登录

参考资料:

13 thoughts on “通过ssh证书让putty自动登录

发表评论