Debian系統查看SFTP連接日志的方法
Debian系統中,SFTP作為SSH協議的一部分,其連接日志默認記錄在**/var/log/auth.log(認證日志)或/var/log/syslog**(系統日志)中。以下是具體操作命令:
grep過濾SFTP相關條目(如sftp、sshd關鍵字),避免無關信息干擾。sudo grep 'sftp' /var/log/auth.log # 從auth.log中篩選SFTP記錄
sudo grep 'sshd' /var/log/syslog # 從syslog中篩選SSH服務記錄
tail -f命令實時查看最新日志(適合監控當前SFTP活動)。sudo tail -f /var/log/auth.log | grep 'sftp' # 實時顯示auth.log中的SFTP記錄
sudo tail -f /var/log/syslog | grep 'sshd' # 實時顯示syslog中的SSH服務記錄
若系統使用systemd(Debian 9及以上版本默認啟用),可通過journalctl查看sshd服務的日志,更便于集中管理:
sudo journalctl -u sshd.service # 顯示sshd服務的所有日志
grep篩選SFTP活動記錄。sudo journalctl -u sshd.service | grep 'sftp' # 篩選SFTP相關日志
-f參數實時查看最新日志。sudo journalctl -u sshd.service -f | grep 'sftp' # 實時顯示SFTP日志
若需查看某用戶的SFTP操作(如用戶名為user1),可在上述命令中添加用戶關鍵字:
sudo grep 'user1.*sftp' /var/log/auth.log # 查看user1的SFTP記錄(auth.log)
sudo grep 'user1.*sshd' /var/log/syslog # 查看user1的SSH服務記錄(syslog)
sudo journalctl -u sshd.service | grep 'user1.*sftp' # 查看user1的SFTP記錄(journalctl)
root權限,因此命令前需加sudo。/etc/ssh/sshd_config文件,修改Subsystem sftp行為Subsystem sftp internal-sftp -l INFO(或DEBUG,但會生成大量日志),然后重啟SSH服務:sudo systemctl restart sshd
auth.log和syslog會定期輪轉(如按天分割),舊日志會存入/var/log/auth.log.1、/var/log/syslog.1等文件,可使用zcat或less查看壓縮的舊日志。通過以上方法,可快速定位Debian系統中SFTP的連接狀態、用戶操作及錯誤信息,滿足日常運維需求。