如何建立各個 SSH 會話的會話日誌?

如何建立各個 SSH 會話的會話日誌?

這是我正在尋找的:

一種在 SunOS 上記錄各個 SSH 會話的方法。我希望根據我透過 SSH 連接的裝置的主機名稱將檔案分開保存。我只使用 CLI 介面,因此 GUI 工具無法運作。我正在考慮的一些選項包括使用腳本命令或螢幕實用程式。如果有人可以解釋他們如何透過自動化方法將多個會話記錄到多個設備。例如,如果您可以包含一個 .bashrc 範例或我可以使用的腳本,這樣我就不必每次登入時手動輸入相同的命令,這將是理想的選擇。

我在想,也許腳本可以先呼叫螢幕或腳本,並根據我正在透過 SSH 連線的主機名稱開始日誌記錄,然後呼叫 SSH 來啟動連線。謝謝!

答案1

要建立會話期間發生的所有事件的原始日誌檔案(包括螢幕控制轉義代碼),我將使用tee.

在你的 .bashrc 中建立一個函數:

myssh () { ssh $1 2>&1 | tee -a ~myusername/logdir/$1.log; }

然後建立一個別名:

alias ssh=myssh

現在,假設您已經建立了 logdir,則每當您建立 ssh 連線時,會話的內容都會根據連線名稱附加到記錄檔中。

相關內容