Logs
scp:保留事務日誌?
假設您
scp
有一個文件到遠端伺服器。scp /file root@<ip>:/file
在遠端伺服器上 SCP 看到一個名為
/file
被歸類為“傳入”
可以將此資訊回顯到文件中嗎
echo "incoming:/file" >> /scp_logs
?
更新:
或者也許..可以
scp
配置為在將文件傳輸到遠端伺服器之後(在它與伺服器斷開連接之前)也執行命令?這樣我可以附加
echo "incoming:/file" >> /scp_logs
在傳輸文件時向它發送。
不,是的。使用一些遠端命令(也)
scp
發出正常ssh
會話scp
,但它在二進製文件中被硬編碼。因此,可以修改客戶端二進製文件以發送您的echo
命令。或者使用腳本在伺服器上強制執行此策略,該
ForceCommand
腳本將檢查SSH_ORIGINAL_COMMAND
環境變數,如果是scp
,它將參數儲存在日誌中。但是當你執行 scp 命令時,這並不能解決問題
scp file1 file2 server:/path/
,因為伺服器只會看到遠端路徑。要獲得實際上傳的文件的真實路徑,您需要修改scp
伺服器上的二進製文件來為您進行日誌記錄(在open()
呼叫附近的某個地方)。因此,如果您正在尋找某種可審核的文件上傳方式,那
scp
不是一個可行的方法。使用 會更好sftp
,它會記錄所有開箱即用的命令(一旦啟用LogLevel VERBOSE
)。