#4 James 在Linux系统中,SSH登录日志通常会记录在 /var/log/auth.log
或 /var/log/secure
中,具体取决于系统的配置。清除这些日志文件后,系统会在下次SSH活动时重新生成日志。
如果你发现清空日志后需要重启服务器才能重新生成日志,而重启 sshd 服务无效,这可能是由于以下原因:
文件句柄未更新:有些进程在打开文件时会保留一个文件句柄,即使你删除了这个文件,进程仍然会写入之前打开的文件句柄所指向的位置。此时,重新启动相关服务可能不会解决问题。
日志轮转:如果系统使用了日志轮转工具(如 logrotate),你可能需要手动触发一次轮转,以使新文件生效。
权限问题:确保日志文件权限正确,供 sshd 使用。
为了确保新的日志文件能够正确生成,可以尝试以下命令:
# 清除日志文件
sudo rm /var/log/auth.log
# 或者
sudo rm /var/log/secure
# 重新创建日志文件并设置正确的权限
sudo touch /var/log/auth.log
# 或者
sudo touch /var/log/secure
sudo chmod 600 /var/log/auth.log
# 或者
sudo chmod 600 /var/log/secure
# 然后重启 sshd 服务
sudo systemctl restart sshd
如果这样仍然无法解决问题,那么可能需要检查系统的syslog配置,确保它能够正确处理SSH的日志记录。