Como exibir comandos executados via ssh e o IP do usuário?

1

Eu fiz uma pergunta antes, mas não obtive uma resposta satisfatória em: Como posso exibir comandos ssh? executado de outra máquina?

então eu vou perguntar desta vez com precisão.

Como exibir comandos e seus usuários / IPs, executados no meu servidor via SSH. Estou procurando algo assim:

#tail .bash_history 192.168.1.101 : vi /etc/ssh/sshd_config 192.168.1.102 : ls -l 192.168.1.101 : cd .ssh 192.168.1.101 : systemctl reload sshd.service 192.168.1.102 : service --status-all etc ...

    
por zied 23.03.2017 / 11:03

2 respostas

0

Achei a pergunta interessante, então pesquisei um pouco no Google e achei esta .

Mais precisamente, você precisa adicionar esta linha ao seu sshd_config.

ForceCommand logger -p user.notice "$SSH_ORIGINAL_COMMAND"

De acordo com o man sshd_config :

ForceCommand
Forces the execution of the command specified by ForceCommand, ignoring any command supplied by the client and ~/.ssh/rc if present. The command is invoked by using the user's login shell with the -c option. This applies to shell, command, or subsystem execution. It is most useful inside a Match block. The command originally supplied by the client is available in the SSH_ORIGINAL_COMMAND environment variable. Specifying a command of internal-sftp will force the use of an in-process SFTP server that requires no support files when used with ChrootDirectory. The default is none.

No meu usuário de instalação do rsyslog debian. * é gravado em /var/log/user.log

    
por 23.03.2017 / 16:42
0

Tente isso ( link ). Basta editar o arquivo /etc/bash.bashrc e adicionar a linha exportar PROMPT_COMMAND = 'RETRN_VAL = $ ?; logger -p local6.debug "$ (whoami) [$$]: $ (history 1 | sed" s / ^ [] [0-9] + [] // ") [$ RETRN_VAL]" na parte inferior do arquivo e salve-o.

    
por 13.08.2018 / 07:35