参看一片Blog:http://blog.cost.edu.cn/wenzk/archives/58
网上的这方面的文章很多,但是很多都难以成功,应该是没有描述清楚。直到看到这篇日志,才发现窍门所在。
主要是两点:
1. 协议问题,据说版本1的协议比较简单,密钥不需要做转换,只需要将Puttygen生成的公钥拷贝到服务器上用户目录下~/.ssh/authorized_keys即可。 主要说一下版本2的问题:
A. 客户端与服务器端协议的一致性。在Putty客户端,SSH选项下,协议选择2或者Only2;在Open ssh服务器端,sshd_config配置文件的protocol 协议填写2,1或者2。缺省情况下为2,1
B. 密钥的发布。在putty端保存私钥,在服务器端的用户目录下~/.ssh/authorized_keys中保存公钥。如果用puttygen生成密钥对,则需要将公钥转换等open ssh格式。可以在服务器端,运行命令ssh-keygen -i -f 公钥文件名>authorized_keys来完成转换。如果用ssh-keygen生成了密钥对,则需要将私钥拷贝到客户端,用puttygen的converter转换成putty下的私钥格式。
2. 最关键的部分:
确保在用户目录下,.ssh文件夹的权限是700,所有者是用户;authorized_keys的权限是600,所有者是用户。否则ssh服务器将不会读取该公钥。
3. 其它设置
在putty的ssh选择的auth中,设置私钥文件位置。
在连接选项的data中,设置用户名。
OK!