非 root ssh 密钥

非 root ssh 密钥

我在使用自己的 SSH 密钥对设置不同的 CentOS 帐户时遇到问题。我已经创建了所需的文件,但是当使用 Putty 连接时,它显示“连接被拒绝”,这是 putty 日志:

2013-03-31 23:09:14 查找主机“XXX.XXXXXX.XXXXX”
2013-03-31 23:09:14 连接到 XX.XX.XXX.XXX 端口 22
2013-03-31 23:09:14 服务器版本:SSH-2.0-OpenSSH_5.3
2013-03-31 23:09:14 使用SSH协议版本2
2013-03-31 23:09:14 我们声明版本:SSH-2.0-PuTTY_Release_0.62
2013-03-31 23:09:14 进行 Diffie-Hellman 组交换
2013-03-31 23:09:15 使用哈希 SHA-256 进行 Diffie-Hellman 密钥交换
2013-03-31 23:09:15 主机密钥指纹为:
2013-03-31 23:09:15 ssh-rsa XXXX XX:6s:18:67:a3:39:39:95rn:21:p1:9b:12:4b:1p:24
2013-03-31 23:09:15 初始化 AES-256 SDCTR 客户端->服务器加密
2013-03-31 23:09:15 初始化HMAC-SHA1客户端->服务器MAC算法
2013-03-31 23:09:15 初始化 AES-256 SDCTR 服务器->客户端加密
2013-03-31 23:09:15 初始化HMAC-SHA1服务器->客户端MAC算法
2013-03-31 23:09:15 读取私钥文件“C:\Users\XXXXX\Desktop\SSH-Key.ppk”
2013-03-31 23:09:15 提供公钥
2013-03-31 23:09:15 服务器拒绝我们的密钥
2013-03-31 23:09:15 使用 SECUR32.DLL 中的 SSPI
2013-03-31 23:09:15 尝试 GSSAPI 身份验证
2013-03-31 23:09:16 GSSAPI 身份验证请求被拒绝
2013-03-31 23:09:16 断开连接:没有可用的支持的身份验证方法(服务器发送:publickey、gssapi-keyex、gssapi-with-mic)

答案1

看看这个 superuser.com 问题及其答案: putty 0.61:为什么在我输入登录 ID 后会看到“访问被拒绝”消息?

听起来像是您的 PuTTY 特定版本的问题。确保您使用的是 0.62 或更高版本。

这似乎是 PuTTY 0.61 版本的一个错误。

概括:GSSAPI 失败后,PuTTY 窗口中打印出虚假的“访问被拒绝”

班级:bug:这显然是我们想要解决的实际问题。

困难:有趣:只需要学费,而且不多。

优先事项:高:这应该在下一个版本中修复。

缺席:0.60 存在:0.61 固定:r9232 0.62

答案2

重要的部分是:

2013-03-31 23:09:15 Offered public key
2013-03-31 23:09:15 Server refused our key

这意味着:客户端发送了公钥,但服务器由于某种原因拒绝了它。要找出服务器拒绝密钥的原因,你需要查看服务器的日志,通常/var/log/secure/var/log/auth.log在 Linux 系统上。

此类拒绝的最常见原因是用户(您登录的用户除外)对以下一项或多项内容具有写入权限:

  • ~/.ssh/authorized_keys file
  • 目录~/.ssh
  • 用户的主目录。

对于 SSH 的新用户来说,如果您向相关文件或目录授予过多的访问权限,SSH 密钥身份验证就会停止工作,这似乎违反直觉。这是一项安全功能:如果授权 SSH 密钥列表可由用户帐户所有者以外的任何人写入,则恶意用户可能只需放入他/她的密钥,然后就可以不受限制地访问该帐户。在这种情况下,sshd只需停止接受该用户的密钥身份验证,直到解决权限问题(并且希望检查授权密钥列表是否被篡改)。

相关内容