我使用puttygen.exe
创建了密钥对(客户端是Windows8)。在服务器(Ubuntu12.04.3LTS)上,我已经将我的公钥放在了~/.ssh/authorized_keys
中。公钥如下:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAopfM6RHOgnuc4Aftn3t4k5UIAT3StCAbn/vg/IMbphbXadshC+79sIlRq3P4zGzMjFTP4hKnzu6ehLV5lmj/qorq3SKT+bPO5Qrac3VbIlrGvuBFDDjP82I2Hwg3HzlsFTstqk++KToapaTYZ7jENEYyPl2wnzITJnt//+4U1o6juoXTKgdNE02hHnRZyHOV/bnkZyJJCEwJv5U0eXSThQnhmXtUxGT8U0HQNFiXfqIIVllhWiCnyrhhIaKz/CIJNAd2VmzyJzQtJtTQX8aWSNVrZju6Sv2/RncTNvsACdNgjjh/FH8PQXaep00jlJ3MOdsC8vz6VSPFbh6iKy1oLQ== rsa-key-20131231
所以它是正确的(一行,没有注释,以ssh-rsa开头,等等)
.ssh
目录权限级别为700,authorized_keys文件权限级别为600。我尝试登录的实际用户所拥有的目录和文件。
当我尝试连接时,我得到了'server refused our key'
,服务器要求输入密码。就这样。尝试使用密钥登录时,/var/log/auth.log
中未记录任何内容。
我到处寻找,所有的文章和技巧都提到为文件/目录设置chmod600和700,并正确格式化密钥。我已经做了所有这些,但仍然收到‘拒绝我们的密钥’的错误,我没有想法了。
发布于 2014-01-05 00:00:22
好吧,我的钥匙有一个小的打字错误。显然,在粘贴到文件时,第一个字母被截断,并以sh-rsa开头,而不是ssh-rsa。
nrathathaus -你的回答非常有帮助,非常感谢,这个答案归功于你:)我照你说的做了,并在sshd_conf中设置了这个:
LogLevel DEBUG3
通过查看日志,我意识到sshd正确地读取了密钥,但由于标识符不正确而拒绝了它。
发布于 2014-07-25 16:53:11
添加一些想法作为其他答案有所帮助,但并不完全符合。
首先,正如在接受答案中提到的,编辑
/etc/ssh/sshd_config
并设置日志级别:
LogLevel DEBUG3
然后尝试身份验证,并在失败时查找日志文件:
/var/log/secure
它将包含您正在查找的错误。
发布于 2015-03-27 10:38:50
在我的例子中,我还必须将/home/user的权限从0755更改为0700。
https://stackoverflow.com/questions/20864224
复制相似问题