无法设置SSH公钥authentication

我做了以下几点:

服务器A:

ssh-keygen -t rsa (did not enter any passphrase) cat ~/.ssh/id_rsa.pub 

服务器B:

 mkdir ~/.ssh chmod 0700 ~/.ssh touch ~/.ssh/authorized_keys chmod 0644 ~/.ssh/authorized_keys placed the content of ~/.ssh/id_rsa.pub file into ~/.ssh/authorized_keys 

试图从服务器Blogin到服务器A,但不能。 我被要求input密码:

 $ ssh -p custom_port -v username@serverA OpenSSH_5.5p1 Debian-6+squeeze3, OpenSSL 0.9.8o 01 Jun 2010 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to serverA [XXX.XXX.XXX.XXX] port custom_port. debug1: Connection established. debug1: identity file /var/username/.ssh/id_rsa type -1 debug1: identity file /var/username/.ssh/id_rsa-cert type -1 debug1: identity file /var/username/.ssh/id_dsa type -1 debug1: identity file /var/username/.ssh/id_dsa-cert type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-6+squeeze2 debug1: match: OpenSSH_5.5p1 Debian-6+squeeze2 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze3 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Host '[serverA]:custom_port' is known and matches the RSA host key. debug1: Found key in /var/username/.ssh/known_hosts:1 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,password debug1: Next authentication method: publickey debug1: Trying private key: /var/username/.ssh/id_rsa debug1: Trying private key: /var/username/.ssh/id_dsa debug1: Next authentication method: password username@serverA's password: 

有任何想法吗?

看起来好像你的angular色相反。

公用密钥应该在您尝试login的服务器上的authorized_keys中。

另请注意:SSH版本2使用文件authorized_keys2,而版本1使用authorized_keys

从Blogin到A时,authorized_keys文件必须在服务器A上。