如何在ssh客户端pc中设置指定的ssh日志文件?

如何在ssh客户端pc中设置指定的ssh日志文件?

通过这种方式在ssh服务器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客户端电脑上的所有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客户端电脑中设置指定的ssh日志文件,而不是在ssh服务器电脑中设置sshd日志文件?

这是我在 ssh 客户端电脑上的尝试。

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客户端电脑登录我的vps时出现错误:

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

有没有办法在 ssh 客户端电脑中设置指定的 ssh 日志文件而不是将其记录在历史记录中?
History 命令可以记录我的 ssh 客户端电脑中执行的所有 ssh 操作,我希望将所有日志信息保存在单个指定文件中,例如 /var/log/ssh.log。
请不要这样告诉我。

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

答案1

在客户端执行以下操作:

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

它将把脚本会话中发生的所有事情记录到开头指定的文件中,直到您退出。

请注意操作整个屏幕的命令(vi、top 等),因为它们会在日志中生成垃圾。

相关内容