SSH证书让Putty免密码登陆Linux的方法


这里介绍的不是双Linux环境下的SSH证书登陆,而是Windows下用Putty证书登陆至你的Linux服务器/VPS.
目前我用的是Putty中文版,来自GoogleCode的项目:http://code.google.com/p/puttycn/
1.用PuTTY SSH 密钥生成工具puttygen.exe生成密钥.
生成的密钥类型和位数按照默认的就OK,SSH-2 RSA,1024位
生成密钥时你需要在空白区域移动鼠标,以便产生随机数据
点击保存私钥(可以不设置密码保护),不要生成公钥,因为PUTTY生成的公钥OpenSSH无法使用.
2.SSH密码方式登入远端Linux服务器/VPS,创建.ssh/authorized_keys.

vim ~/.ssh/authorized_keys
将puttygen.exe生成的公钥内容粘贴至~/.ssh/authorized_keys.
注:公钥内容就在显示的公钥(P)由OpenSSH认可: 这行字符下面.
至于为什么文件名是authorized_keys,可以在/etc/ssh/sshd_config中找到下面两行
#PubkeyAuthentication yes



#AuthorizedKeysFile .ssh/authorized_keys
3.用SSH证书登陆你的Linux服务器/VPS
Putty→会话:将服务器IP填好
Putty→连接→数据:填好自动登陆用户名
Putty→连接→SSH→认证:选择认证私钥文件
回到Putty→会话:保存的会话,填个名称保存下吧,下次直接双击名称就可以登录了,赶紧登录吧.
4.为了安全你需要取消SSH的密码认证方式.
vim /etc/ssh/sshd_config
添加下面这行
PasswordAuthentication no
重启SSH服务
【SSH证书让Putty免密码登陆Linux的方法】service sshd restart

经验总结扩展阅读