Linux SFTP日志查看方法
SFTP(SSH File Transfer Protocol)作為SSH協議的一部分,其活動日志默認集成在SSH服務器的日志中。以下是具體的查看步驟和方法:
SFTP日志的具體路徑因Linux發行版而異,常見位置如下:
/var/log/auth.log(記錄認證及會話信息)/var/log/secure(功能與auth.log類似)/var/log/syslog(需通過grep過濾)可通過以下命令快速確認系統使用的日志文件:
ls -l /var/log/auth* /var/log/secure* /var/log/syslog
使用grep命令提取包含“sftp”關鍵字的日志條目(不區分大小寫):
# Debian/Ubuntu
sudo grep -i 'sftp' /var/log/auth.log
# Red Hat/CentOS
sudo grep -i 'sftp' /var/log/secure
通過tail -f命令實時跟蹤日志文件的新增內容(按Ctrl+C停止):
# Debian/Ubuntu
sudo tail -f /var/log/auth.log | grep -i 'sftp'
# Red Hat/CentOS
sudo tail -f /var/log/secure | grep -i 'sftp'
若系統采用systemd管理SSH服務(現代Linux發行版的默認方式),可通過journalctl命令查看SSH服務的日志:
# 查看所有SSH相關日志
sudo journalctl -u sshd.service
# 過濾SFTP日志并實時跟蹤
sudo journalctl -u sshd.service -f | grep -i 'sftp'
journalctl的優勢在于支持按時間范圍、優先級等條件篩選,且日志持久化存儲更可靠。
通過用戶名過濾,查看某用戶的SFTP操作記錄:
sudo grep 'username' /var/log/auth.log | grep -i 'sftp'
使用awk統計某用戶的SFTP連接次數(按用戶分組計數):
sudo awk '/username/ && /sftp/ {print $1}' /var/log/auth.log | sort | uniq -c
識別SFTP登錄失敗的情況(如密碼錯誤、認證失?。?/p>
sudo grep -i 'failed password\|login incorrect' /var/log/auth.log
若日志中包含文件上傳/下載記錄(需SSH配置為VERBOSE級別,見下文),可通過關鍵字過濾:
sudo grep -i 'upload\|download' /var/log/auth.log
若默認日志信息不足,可通過修改SSH配置文件增加詳細度:
# 編輯SSH配置文件
sudo nano /etc/ssh/sshd_config
# 找到LogLevel行,修改為VERBOSE(或DEBUG,謹慎使用)
LogLevel VERBOSE
# 保存后重啟SSH服務
sudo systemctl restart sshd # Debian/Ubuntu
sudo systemctl restart ssh # Red Hat/CentOS
注意:DEBUG級別會記錄敏感信息(如密碼哈希),僅建議在排查問題時臨時使用,使用后需改回VERBOSE或更低級別。
通過上述方法,可全面查看SFTP日志,監控文件傳輸活動、排查連接問題及識別潛在安全威脅。