it-swarm-pt.tech

Monitorar uma sessão SSH recebida em tempo real

Existe algum software linux para monitorar uma sessão ssh recebida? Em um trabalho anterior, disseram-me que, se você precisasse de suporte da Red Hat, por exemplo, poderia colocá-los SSH em sua máquina e assistir ao que eles estavam fazendo.

Estou em uma situação semelhante em que quero entrar na máquina dos meus amigos para ajudá-lo, mas quero que ele seja capaz de observar o que estou fazendo para fins educacionais e garantir que não faça nada malicioso.

Alguma sugestão?

Obrigado

21
Richard

O GNU Screen tem essa capacidade, você pode permitir que um usuário específico do Shell opere apenas pela tela.

https://www.linux.com/learn/tutorials/442418-using-screen-for-remote-interaction

15
Adam Gibbins

Eu acho que tela é o que você procura, mas se você não quer ficar assistindo e quer "filmar" a sessão de um usuário, pode ver o Sudo Shell.

Se você configurar o usuário com isso como seu Shell, poderá ter uma gravação completa de tudo o que ocorreu, e poderá "reproduzir" novamente e assistir quando/se precisar.

A única desvantagem possível disso é que os logs podem crescer muito, por exemplo, se eles executarem um comando como find /, Você terá tudo isso registrado também - portanto, provavelmente precisará escolher quais contas ativar para, em vez de fazê-lo globalmente.

Quanto a permitir que os fornecedores acessem o acesso, isso provavelmente é perfeito, porque você tem uma trilha de auditoria completa de tudo o que eles fizeram, tudo (até o backspacing) é gravado e armazenado para reprodução.

log_output É sua opção de gravador para sudoers e sudoreplay(8) é seu player.

De acordo com a página do manual sudoers:

log_output: Se definido, o Sudo executará o comando em uma pseudo-tty e registrará toda a saída que é enviada para a tela, semelhante ao comando script (1). Se a saída padrão ou o erro padrão não estiver conectado ao tty do usuário, devido ao redirecionamento de E/S ou porque o comando faz parte de um pipeline, essa saída também será capturada e armazenada em arquivos de log separados.

No arquivo sudoers, você colocaria algo como isto:

User_Alias Shell_ACCOUNTS = root,jack
Defaults: Shell_ACCOUNTS log_output

Ou para log baseado em grupo

Defaults:%shellusers log_output

Consulte http://www.gratisoft.us/Sudo/sudoers.man.html para obter detalhes.

3
Xerxes

Você pode usar o comando script. Crie uma linha em .login ou .profile do usuário cuja sessão ssh você deseja monitorar. Quando ele faz logon, um script/log é gerado de suas E/S, o que fornece comandos de execução e a saída desses comandos. Em tempo real, você pode apenas seguir o script e observar o que o usuário faz em tempo real.

Não foi possível colar um link para a sua referência, mas você pode simplesmente pesquisar no Google no comando "script" e obterá as referências.

2
Viky
2
sysadmin1138

Você pode usar kibitz. Citando a partir da página de manual:

o kibitz permite que duas (ou mais) pessoas interajam com um Shell (ou qualquer programa arbitrário).

No Fedora, ele está incluído no pacote expect.

1
Cristian Ciupitu

Eu uso o whowatch no meu servidor.

apt-get install whowatch
0
Unkwntech

tela ou tmux.

o compartilhamento tmux é um pouco mais fácil.

0
Not Now