1.工作平台客户端:Win2kEn Sp3 ,Putty Beta 0.53 服务器:RedHat72,OpenSSH_3.4p1
2.Putty 简介一个免费小巧的Win32 平台下的ssh ,telnet客户端。它的主程序只有348k,但是功能丝毫不逊色于商业的SecureCrt ,更重要的是它是免费的。
官方主页:http://www.chiark.greenend.org.uk/~sgtatham/putty/
3.Publick Key 认证简介Publick Key 认证的主要魅力在于认证时承诺不必提供密码就能够同远程系统建立连接。Publick Key 认证的基础在于一对密钥,public key和private key ,public key对数据进行加密而且只能用于加密,private key 只能对所匹配的public key加密过的数据进行解密。我们把public key放在远程系统合适的位置,然后从本地开始进行ssh 连接。此时,远程的sshd会产生一个随机数并用我们产生的public key进行加密后发给本地,本地会用private key 进行解密并把这个随机数发回给远程系统。最后,远程系统的sshd会得出结论我们拥有匹配的private key 允许我们登录。
4.制造密钥用putty 套装的puttygen来产生密钥。密钥的类型建议选择SSH2
RSA ,因为用的最为广泛,大多数server支持。密钥的位数选择1024对大多数用户已经足够,除非你觉得还是不安全。然后点击"Generator" ,此时密钥生成当然也有几个选项出现。如果你有不止一个key ,你可以在“Key comment ”作注释用于区别其他的key.“Key passphrase”和“Confirm passphrase”用于对硬盘上的key 进行加密,设置这个密码后,以后用这个密钥登录时,需要输入这个密码。然后保存两个key.不要关掉puttygen,它还有用呢。
5.远程登录到linux,此时用户在自己的宿主目录中,要在此目录中建立一个名为.ssh的目录,然后进入.ssh目录建立一个新文件 authorized_keys ,然后把puttygen中"Public key for pasting into authorized_keys file"粘贴于authorized_keys 这个文件中。具体操作如下:
输入如下命令,来编辑 authorized_keys 文件
mkdir -p $HOME/.ssh && touch $HOME/.ssh/authorized_keys \
&& chmod go-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys && vi $HOME/.ssh/authorized_keys
粘贴进去后,开头的 ssh-rsa 会变成 sh-rsa,注意修改一下。
6.测试执行putty ,建立一个session 命名为ssh ,设定ip,协议设为ssh ,Connection设定ssh 的auth中,private key 的文件选择为puttygen产生的密钥。
连接开始后,要求输入username,此时输入要登录的linux用户,如root。远程系统开始public key认证,如果密钥有passphrase则需要输入,否则直接就登录了。
Pagent 加载密钥,每次开机后只需要输入一次密钥口令
终于轮到 Pagent 出场了,双击一下 Pagent.exe,嗯,在通知区会出现它的图标
双击一下 Pagent 的图标,出来这样一个界面。很简洁的,Add Key 是添加私钥,Remove Key 是把选中的私钥从 Pagent 中卸载了。
好,现在单击 Add Key 按钮添加私钥,我把这个演示用的私钥保存到 C:\ 了
然后会出现输入密钥口令的对话框,输入正确的密钥后,单击 OK
这时,在 Pagent 的窗口中就能看到我们的私钥已经装载上去了。
现在打开 PuTTY,选择先前保存的 Session,双击一下。只要自动登录用户名设置上,主机上改帐户的 authorized_keys 文件里也有匹配的公钥。哈哈,发现没有?完全不需要口令,我们已经登录到系统了。
在 Pagent 的图标上点右键,也可以快捷的选择已经保存的会话。
建议大家把 Pagent 放到启动组里面,这样每次一开机,Pagent 自动运行,然后我们只需要把私钥装载一下,然后我们就可以一直享受自动登录系统的乐趣了。
评论