Jul 05 2010

OpenSSH公钥授权方式

Category: Uncategorizedwuxicn @ 7:49 PM

用公钥授权(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_rsaid_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服务器不知道。

Tags: ,

3 Responses to “OpenSSH公钥授权方式”

  1. jcwkyl says:

    ssh-copy-id这个命令可以直接copy public key到要登录的机器上,似乎还会自动设置好权限。

  2. hjbolide says:

    文中路径有错误,服务器上路径和本地上传的路径不符,核对一下~

  3. wuxicn says:

    to hjbolide:
    发现了,谢谢:)

Leave a Reply