eu fiz um teste usando essa opção no meu servidor lab e ela funciona, mas talvez exista uma maneira melhor.
ForceCommand logger -p user.notice "$SSH_ORIGINAL_COMMAND"
Eu gostaria de registrar todos os comandos executados no SSH.
Diga,
ssh [email protected] COMMAND
Eu quero registrar "COMMAND" no server.com
Eu pesquisei bastante, mas não consegui encontrar nada.
Existe mais uma pergunta semelhante, mas não acho que exista uma solução por lá.
Como registrar "execução remota via SSH"
Eu posso ter uma visualização ao vivo com
pstree -p | grep ssh
Eu tentei o Snoopy, o auditd e o sudosh, mas não consegui registrar esses comandos no ssh.
Existe um link . mas não consigo baixar o script para testar.
Existe alguma outra maneira de fazer isso?
Obrigado .........
eu fiz um teste usando essa opção no meu servidor lab e ela funciona, mas talvez exista uma maneira melhor.
ForceCommand logger -p user.notice "$SSH_ORIGINAL_COMMAND"
Em vez de se concentrar no SSH, dê um passo para trás e considere o uso do auditd. Estou assumindo que o que você realmente quer é rastrear os usuários, não rastreando o que é feito a partir do SSH em oposição a outros tipos de login.
man auditctl
deve fornecer um ponto de partida.
Eu encontrei uma maneira de fazer isso. Existe um script perl escrito por John M. Simpson ( link ).
Tudo o que você precisa fazer é adicionar
command="#{path to log-session}"
antes de cada chave em seu ~ / .ssh / authorized_keys
Funciona apenas se você tiver um ssh sem senha, mas isso resolve o meu propósito até certo ponto.
No meu caso, eu tinha exatamente o mesmo requisito. A única ressalva com este método é que eu não tenho certeza de como fazê-lo funcionar se você não fizer uso de chaves ssh. Fiz um pequeno script para registrar o comando antes de executá-lo:
#!/bin/bash
echo "$(date -Is) ${SSH_ORIGINAL_COMMAND}" >> ~/sshcommands.log
sh "${SSH_ORIGINAL_COMMAND}"
Salvei este comando em ~ / bin / log-commands e tornei-o executável ( chmod +x ~/bin/log-commands
).
No arquivo authorized_keys, eu adicionei o parâmetro command=
à linha pertencente à chave SSH pela qual eu queria ter logs, então ele seria forçado a executar o script log-commands:
command="/home/tricky/bin/log-commands" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ......6J0C1 [email protected]
Se alguém estiver ciente do registro, mas não quiser que você veja os comandos, ele poderá simplesmente entrar em uma sessão interativa. Como você mencionou, você já tentou snoopy, o que vai fazer isso por você. Alternativas populares que eu não tentei são rootsh, sudosh e log-user-session.
Snoopy ajudaria você com isso? “Registre todos os comandos executados no syslog (também conhecido como Snoopy Logger)”.