Putty实现自动登陆远程Linux主机的方法
由于工作需要,经常要从Windows主机访问远程的Ubuntu服务器,每次输入账号和老长的密码,感觉很麻烦,于是参考网上的教程简单的设置了一下就能自动登陆远程主机了,非常的方便。
虽然Putty也提供了puttygen.exe生成公/密钥,但是和Linux主机生成的KEY格式不同,需要手工修改格式,所以采用Linux主机自己生成KEY的方式。
首先登陆到Linux主机,具体过程如下:
1.生成公钥和密钥
verdana@hostname:~$ssh-keygen-trsa Generatingpublic/privatersakeypair. Enterfileinwhichtosavethekey(/home/verdana/.ssh/id_rsa): Enterpassphrase(emptyfornopassphrase): Entersamepassphraseagain: Youridentificationhasbeensavedin/home/verdana/.ssh/id_rsa. Yourpublickeyhasbeensavedin/home/verdana/.ssh/id_rsa.pub. Thekeyfingerprintis: 51:51:da:44:28:b5:83:de:d2:1e:60:4f:81:c9:f1:1averdana@hostname.com
注意passphrase留空。
2.将公钥内容追加到authorized_keys
#若authorized_keys已经存在,则跳过touch创建文件这一步 verdana@hostname:~/.ssh$touchauthorized_keys verdana@hostname:~/.ssh$catid_rsa.pub>>authorized_keys
3.下载密钥并转换为Putty可识别的格式
Putty无法识别Linux主机生成的的密钥,所以需要用puttygen.exe转换一下。
a)使用FTP软件或者其它方式将生成的密钥id_rsa拷贝到客户端主机,这里我的客户端是Vista系统
b)打开puttygen.exe,点击菜单上的:转换->导入密钥->保存密钥(如:id_rsa.ppk),密钥即转换完成,这里不设置密码保护
4.设置Putty
打开Putty
a)会话,主机名称填入:user@remote-host,user是你的Linux主机登陆名称,remote-host是IP或者远程主机域名,比如:root@phpvim.net。
b)连接->SSH->认证->浏览,选择刚才转换后的密钥(id_rsa.ppk),之后保存会话即可。
5.使用Cygwin?
如果使用的Cygwin的ssh登录远端服务器的话,只需要把第3步生成的密钥id_rsa(无需任何转换)拷贝至Cygwin用户的.ssh目录即可。