用公钥授权(Public key Authentication)的方式可以实现ssh服务器与本机之间的配对,实现不用输入密码联入SSH服务器。
具体做法:
1) 在本机(ssh客户机)生成密钥文件:
client$ cd ~/.ssh client$ ssh-keygen -q -f id_rsa -t rsa Enter passphrase (empty for no passphrase): Enter same passphrase again:
在提示输入密码阶段时(Enter passphrase…),直接Enter,这样以后在本机就不用输入密码了。
这样,在.ssh/目录下就会生产2个文件:id_rsa 和 id_rsa.pub .
注意:保密好这两个文件!
2) 分发公钥文件:
将你的公钥文件 (id_rsa.pub) 分发到你的SSH服务器上:
# Step 1: 将你的id_rsa.pub文件上传到服务器上 client$ scp ~/.ssh/id_rsa.pub user@your.ssh.server:~/.ssh/ # Step 2: 在服务器上安装公钥文件 server$ chmod 700 ~/.ssh server$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys server$ chmod 600 ~/.ssh/authorized_keys server$ rm ~/.ssh/id_rsa.pub
注意:这个地方要用>>追加到authorized_keys文件末尾,以免冲到以前的一些公钥授权。
好了,现在大功告成了,enjoy!
PS: 以上方法只保证在OpenSSH服务器上有效,其他SSH服务器不知道。

July 20th, 2010 2:42 PM
ssh-copy-id这个命令可以直接copy public key到要登录的机器上,似乎还会自动设置好权限。
July 24th, 2010 10:01 PM
文中路径有错误,服务器上路径和本地上传的路径不符,核对一下~
July 26th, 2010 4:55 PM
to hjbolide:
发现了,谢谢:)