Monitora uma sessão SSH recebida em tempo real

20

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

Estou em uma situação parecida, na qual quero entrar na máquina dos meus amigos para ajudá-lo, mas quero que ele possa ver o que estou fazendo para fins educacionais e garantir que eu não faça nada de mal-intencionado. .

Alguma sugestão?

Obrigado

    
por Richard 27.05.2009 / 01:18

7 respostas

15

O GNU Screen tem essa capacidade, você pode permitir que um usuário de shell específico opere somente através da tela.

link

    
por 27.05.2009 / 01:21
3

Eu acho que a tela é o que você procura, mas se você não quer ficar sentado assistindo e quer "filmar" a sessão de um usuário, você pode olhar para o sudo shell.

Se você definir o usuário com isso como shell, poderá ter uma gravação completa de tudo o que ocorreu e você poderá "reproduzi-lo" novamente e assisti-lo quando / se precisar.

A única desvantagem possível para isso é que os logs podem ficar muito grandes, por exemplo, se eles executam um comando como find / , você terá tudo o que registrou também, então provavelmente terá que escolher quais contas habilitar isso em vez de fazê-lo globalmente.

Quanto a permitir o acesso de login de fornecedores, 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 sudoers man:

log_output: If set, sudo will run the command in a pseudo tty and log all output that is sent to the screen, similar to the script(1) command. If the standard output or standard error is not connected to the user's tty, due to I/O redirection or because the command is part of a pipeline, that output is also captured and stored in separate log files.

No arquivo sudoers, você colocaria algo assim:

User_Alias SHELL_ACCOUNTS = root,jack
Defaults: SHELL_ACCOUNTS log_output

Ou para registro em log baseado em grupo

Defaults:%shellusers log_output

Consulte o link para obter detalhes.

    
por 27.05.2009 / 09:51
2

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

Não é possível colar um link para o seu referencia, mas você pode apenas pesquisar no comando "script" e obter as referências.

    
por 27.05.2009 / 11:36
1

Você pode usar o kibitz . Citando a página man:

kibitz allows two (or more) people to interact with one shell (or any arbitrary program).

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

    
por 27.05.2009 / 17:20
0

Eu uso o whowatch no meu servidor.

apt-get install whowatch
    
por 27.05.2009 / 01:39
0

tela ou tmux.

O compartilhamento do tmux é um pouco mais fácil.

    
por 02.12.2011 / 00:27