如何检查 sshd 日志?

如何检查 sshd 日志?

我安装了 Ubuntu 9.10 sshd,我可以使用登录名和密码成功连接到它。我配置了RSA密钥登录,现在如预期的那样出现了“服务器拒绝我们的密钥”。好的,现在我想检查sshd日志以找出问题。我已经检查过了/etc/ssh/sshd_config,它有

SyslogFacility AUTH
LogLevel INFO

好的。我看了看/var/log/auth.log……它是空的 O_O。更改Loglevel为也VERBOSE无济于事——auth.log仍然是空的。有什么提示可以告诉我如何检查sshd日志吗?

答案1

如果目前没有其他人使用该系统,您可以按照我在这种情况下所做的事情进行操作:

  • 停止 sshd 服务(至少我可以通过 ssh 登录时执行此操作)
  • 手动启动 sshd 并添加一些 -d 选项以获取更详细的调试输出。除非你遇到了一些奇怪的事情,否则它应该使用与正常启动时相同的键和配置

答案2

根据以上评论创建答案,感谢@Prof. Moriarty 和@Eye of Hell

SSH 身份验证失败记录在此处/var/log/auth.log

下面应该只会给出与 ssh 相关的日志行:

grep 'sshd' /var/log/auth.log

为了安全起见,请获取最后几百行然后搜索(因为如果日志文件太大,对整个文件进行 grep 会消耗更多的系统资源,更不用说运行时间会更长)

查看sshd日志最后500行的条目:

tail -n 500 /var/log/auth.log | grep 'sshd'

或者在测试时跟踪日志输出:

tail -f -n 500 /var/log/auth.log | grep 'sshd'

答案3

查看日志的现代方式:

  1. 全部sshd关于:
    journalctl -t sshd

    journalctl -u ssh哪里 的消息-u == unit

  2. sshd关于上次启动的消息:
    journalctl -t sshd -b0

  3. sshd从上次启动开始按相反顺序显示的消息:
    journalctl -t sshd -b0 -r

答案4

如果您想查看有关 sshd 的所有日志消息,请运行以下命令:

grep -rsh sshd /var/log |sort

相关内容