正如标题中所述,我在通过 ssh 连接到远程服务器时遇到问题。我正在尝试将 Windows 计算机连接到运行 CentOS 的服务器。我一直在 Windows 机器上使用 PuTTY 来尝试连接。
最初,当它无法工作时,PuTTY 上的错误表示服务器无法识别正在使用的公钥。然后,我仔细检查了公钥是否按照~/.ssh/authorized_users我认为应该的方式添加,并注意到该密钥看起来与我习惯的密钥不同,并发现它的格式不同(以 开头---- BEGIN SSH2 PUBLIC KEY ----)。然后,我将公钥转换为我习惯在类 UNIX ssh 中看到的格式(ssh-rsa开头为 )。然后我重新启动 sshd 并再次尝试 - 没有运气。
之后,我查看了来自堆栈网络和其他地方的具有类似问题的用户的一些不同帖子,并尝试了更多更改以使其正常工作,包括:
chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keyschown $USER:$USER ~/.ssh -R我看到有人建议查看日志,/var/log/auth.log但我找不到,我检查了日志/var/log/secure,只看到最近失败的 ssh 尝试的一行:
localhost sshd[43706]: Connection closed by authenticating user \username \ip port 11706 [preauth]
(\username 为 linux 用户名,\ip 为 windows 机器的 ip)