Ssh

如何在 ssh 客戶端 pc 中設置指定的 ssh 日誌文件?

  • February 15, 2018

以這種方式在 ssh server pc 中設置指定的 sshd 日誌文件。

vim /etc/rsyslog.conf
local0.*     /var/log/sshd.log 
vim /etc/ssh/sshd_config
SyslogFacility local0

創建日誌文件:

touch /var/log/sshd.log

重新啟動所有服務。

systemctl restart rsyslog
systemctl restart sshd

以這種方式在 ssh 客戶端 pc 中獲取所有 ssh 登錄。

sudo vim /etc/bash.bashrc
HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:whoami: "
export HISTTIMEFORMAT
PROMPT_COMMAND='history -a'      
source /etc/bash.bashrc

現在獲取所有 ssh 日誌記錄。

history |grep  ssh  

我的問題是如何在 ssh 客戶端 pc 中設置指定的 ssh 日誌文件,而不是在 ssh 伺服器 pc 中設置 sshd 日誌文件?

這是我在 ssh 客戶端 pc 中的嘗試。

vim /etc/rsyslog.conf
local0.*     /var/log/ssh.log 
vim /etc/ssh/ssh_config
SyslogFacility local0

創建日誌文件:

touch /var/log/ssh.log

重新啟動所有服務。

systemctl restart rsyslog
reboot

從 ssh 客戶端 pc 登錄我的 vps 時發生錯誤:

/etc/ssh/ssh_config: line 56: Bad configuration option: syslogfacility
/etc/ssh/ssh_config: terminating, 1 bad configuration options

有沒有辦法在 ssh 客戶端 pc 中設置指定的 ssh 日誌文件,而不是將其記錄在歷史記錄中?

History 命令可以記錄在我的 ssh 客戶端 pc 中執行的所有 ssh 操作,我希望將所有日誌資訊放在一個指定的文件中,例如 /var/log/ssh.log。

請不要這樣告訴我。

history |grep  ssh  >> /var/log/ssh.log

在客戶端執行以下操作:

script logfile.log
ssh into the machine
do whatever you need
exit from ssh
exit from script

它會將腳本會話中發生的所有事情記錄到開始時指定的文件中,直到您退出。

小心操縱整個螢幕的命令(vi、top 等),因為它們會在日誌中生成垃圾。

引用自:https://unix.stackexchange.com/questions/401970