Log ssh communications

1

Eu tenho um programa de código fechado que chama o servidor por SSH e executa um conjunto de comandos.

Você poderia me dizer como posso registrar todos os comandos?

Meu servidor está no Ubuntu.

    
por user349302 05.07.2011 / 01:28

3 respostas

2

O

Snoopy pode ser usado para registrar todos os comandos executados em um sistema. Logs serão enviados para o syslog.

    
por 05.07.2011 / 01:38
1

Sem saber exatamente como está fazendo isso, não há uma resposta que eu possa dar. No entanto, algumas possibilidades:

  • Ele usa chaves para autenticação e executa um comando que passa no login : Isso é fácil. Adicione um command= à entrada em ~/.ssh/authorized_keys que chama um script que registra o comando executado e, em seguida, apenas executa o comando. Transparente, simples.
  • Ele usa chaves para autenticação, executa um shell e enche os comandos pelo shell : Mais difícil, mas ainda assim simples. Novamente, command= in ~/.ssh/authorized_keys para executar um shell de sua escolha, que pode ser algo como sudoshell ou qualquer outra coisa que registre todos os comandos (para um truque de super bônus, você pode até usar script para replayability completo).
  • Ele usa senhas : Não é permitido nenhum truque command= aqui, você terá que usar todo o material e usar algo como snoopy para registrar tudo o que acontece - mas, a menos que esse programa seja a única coisa que usa o SSH, você provavelmente terminará com muitos logs.
por 05.07.2011 / 01:42
1

Se o programa close source permite que você edite parâmetros SSH remotos ou você pode colocar os comandos em um shell script, você pode envolver sua execução em torno do comando "script" no servidor remoto assim:

ssh 192.168.15.200 'script ps.log -c "ps -ef"'

Neste caso, a saída de ps -ef é salva no arquivo ps.log

    
por 05.07.2011 / 01:51

Tags