SSHD 日志不完整

SSHD 日志不完整

我对这一点完全感到困惑。

我有一个 Docker 容器,它定期尝试连接到 Git 服务器,但失败了。我在 sshd 日志中看到定期连接: Aug 09 16:14:01 <server> sshd[11441]: Accepted publickey for <user1> from <docker> port 58968 ssh2。那部分是正确的,因此为了进一步排除故障,我尝试从同一个 Docker 容器使用相同的公钥等以详细模式运行 ssh。

GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvvv" git clone ssh://baduser@<server>:/test

<baduser令我大吃一惊的是,ssh 客户端显示已将使用 的登录尝试publickey发送到server,但服务器日志并未显示任何事物来自baduser。然而,客户相当确定它正在沟通;它正在报告debug3: receive packet: type 51。这是一个SSH_MSG_USERAUTH_FAILURE

现在 ssh 客户端会要求输入密码,但这个密码不起作用,也不是我们想要的。但在输入空密码后,该尝试显示在服务器日志中:Failed password for <baduser> from <docker> port 5920

显然,一方错了。要么服务器只记录了某些类型的故障,而不是全部,要么客户端没有收到它声称的数据包。但谁是对的呢?

(显然,测试baduser预计会失败;实验的目的是查明真实的失败是否可能是由于无法识别有效的用户帐户user1而导致的。)sshd

答案1

事实证明服务器日志不完整。添加一个baduser具有适当权限的帐户.ssh/authorized_keys可以让 git clone 成功,现在日志中确实出现了成功的登录。

客户端是正确的——服务器拒绝了两次publickey登录password,但只记录了后者。

相关内容