我已经 :
- 安装服务器
- 使用 -P "" 生成 pub/pri 密钥
- 将 id_rsa.pub 复制到 authorized_keys
- ssh localhost > 回答“是”,复制到 known_hosts
- 尝试过 ssh localhost >> 仍然要求输入密码
输出:
hduser@hduser1-desktop:~$ ssh -v localhost
OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: Connection established.
debug1: identity file /home/hduser/.ssh/identity type -1
debug1: identity file /home/hduser/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/hduser/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-
3ubuntu7
debug1: match: OpenSSH_5.3p1 Debian-3ubuntu7 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7
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 'localhost' is known and matches the RSA host key.
debug1: Found key in /home/hduser/.ssh/known_hosts:3
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
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: Offering public key: /home/hduser/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/hduser/.ssh/identity
debug1: Trying private key: /home/hduser/.ssh/id_dsa
debug1: Next authentication method: password
有什么建议么?
答案1
尝试使用ssh-copy-id
。您可能有权限问题。此程序设置了正确的权限。
答案2
检查文件 /home/hduser/.ssh/authorized_keys 的权限和所有权
它应该是-rw------- hduser hduser
如果没有,你可以用以下方法修复此问题
chown hduser:hduser ~hduser/.ssh/authorized_keys
chmod 0600 ~hduser/.ssh/authorized_keys
然后尝试使用以下方式连接到本地主机
ssh -i /home/hduser/.ssh/id_rsa hduser@localhost
如果仍然不起作用,请以您喜欢的方式检查最近的身份验证日志,
sudo tail /var/log/auth.log
sudo cat /var/log/auth.log
sudo less /var/log/auth.log
sudo grep "Authentication refused" /var/log/auth.log
...
寻找类似这样的内容,然后谷歌搜索你收到的错误消息
Jan 21 09:03:11 hduser sshd[29543]: Authentication refused: ...
答案3
确保您/etc/ssh/sshd_config
具有以下设置:
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
AllowUsers YOUR_USER_NAME