如何查看sshd日志?


124

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

SyslogFacility AUTH
LogLevel INFO

好。我在看,/var/log/auth.log...是空的O_O。更改LoglevelVERBOSE无济于事- auth.log仍然是空的。有什么提示可以检查sshd日志吗?


7
您检查系统日志配置了吗?我没有运行Ubuntu,但是它可能会将AUTH工具重定向到另一个日志文件。也许/ var / log / messages吗?
莫里亚蒂教授

如何检查系统日志配置?不幸的是,我不是很好的一个Linux :(。cat /var/log/messages | grep ssh显示什么:(。
grigoryvp

你是对的。/etc/syslog.conf将AUTH重定向到/var/logauth.log。请写下您的答案,以便我可以接受:)
grigoryvp 2010年

3
在我的服务器上,sshd记录到/ var / log / secure。这是在/etc/rsyslog.conf中以“ authpriv。*”开头的行上配置的
Isaac Betesh 2013年

1
authpriv ?? 我们应该怎么知道这与sshd有什么关系?:-)
斯宾塞·威廉姆斯

Answers:


7

如果目前没有人在使用该系统,则可以在这种情况下做我所做的事情:

  • 停止sshd服务(至少我已经能够通过ssh登录时执行此操作)
  • 手动启动sshd并添加一些-d选项以获得更多详细的调试输出。除非您有一些时髦的事情,否则应正确启动时使用相同的键和配置

142
在远程服务器上停止SSHD是一个非常糟糕的主意。这可能在大多数情况下可以解决某些(或大多数)设置的问题,但是如果出现任何问题-您的连接,任一端的电源,健忘等-您都无法使用。这是个坏消息。
2012年

1
好吧,应该指出,手动停止服务后才能启动该服务的唯一方法是拥有某种其他类型的访问权限,例如另一个非SSH远程连接,或者您正坐在它的前面。
斯宾塞·威廉姆斯

26
这如何回答这个问题?我通过网络搜索登陆这里,希望学习如何检查SSHD日志文件,而不是对某些问题不起作用的内容...该死,我希望Stack Exchange网络上的读者能够阅读并回答眼前的问题,而不是他们希望它是问题....

4
您可以在另一个端口上启动另一个sshd。连接到那个。然后停止主sshd并在端口22上启动一个新的sshd。如果发生任何故障,请使用DRAC或云管理重新启动该盒。您应该在启动时启动sshd吗?别担心。
布鲁诺·布罗诺斯基

1
@JoelESalas社区不决定接受哪些答案。
kasperd

155

根据以上评论创建答案,并归功于@Prof。Moriarty和@Eye of Hell

SSH身份验证失败记录在这里 /var/log/auth.log

以下应该只给您与SSH相关的日志行

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

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

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


8
这个答案。其他带有绿色箭头的答案是虚假的。更改箭头。
meshfields

5
为什么不使用tail -f ...它来实时监控?较大的日志文件会不会有问题?
ingh.am,2015年

6
less +F ...会实时“尾巴”,它比尾巴功能强大得多
诺斯本

5
并且lnav是小于/尾甚至更好
韦恩沃纳

7
附言:如果您的服务器是Red Hat(如CentOS),则sshd / login记录日志的路径为/ var / log / secure(也请检查/ var / log文件夹以获取特定日期的日志文件)。看到这个答案:serverfault.com/questions/465833/...
布莱恩Hellekin


1

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

grep -rsh sshd /var/log |sort

2
日志将从诸如Mar 14 19:52:04年份之类的条目开始,并且不容易排序(尽管sort --month-sort假设您没有跨过年份之间的界限可能会很幸运)。日志文件本身已经被排序,因此您只需要以正确的顺序进行扫描即可。此外,在grep -r具有大量日志的系统上,递归调用的速度会非常慢。没有理由额外扫描诸如HTTPD日志之类的内容。
亚当·卡兹

1

您可以 tail -f /var/log/auth.log


1
欢迎使用ServerFault。你读过这个问题吗?他没有在该文件中获取数据。 tail如果其中没有任何数据,则无用。
小鸡

@chicks这很有趣。票数最多的答案几乎是这样。
Qback
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.