Conceder acesso temporário ao SSH para suporte

3

Eu tenho que fornecer algum suporte ao usuário para um software específico. Como o fornecimento de suporte via e-mail é tedioso, gostaria de ter acesso temporário à conta do usuário.

Vamos ligar para o usuário que estou dando suporte para o Bob. O procedimento a seguir é válido?

  • Envie um e-mail para Bob minha chave pública do SSH id_rsa.pub
  • Em seguida, Bob cria um backup de authorized_keys
  • Bob adiciona minha chave pública de SSH a authorized_keys via cat id_rsa.pub >> authorized_keys
  • Eu faço login via SSH como usuário Bob sem precisar saber a senha de Bob
  • Depois de concluir a solução de problemas e sair, Bob volta para o antigo authorized_keys , revogando assim meu acesso SSH

Pergunta secundária : Como o Bob pode monitorar o que estou fazendo? Como conceder acesso a sua conta de usuário requer muita confiança por parte de Bob, a transparência provavelmente aumentaria a aceitação dessa medida.

Para completar, aqui está como testei o procedimento em casa.

  • Eu envio por e-mail a Bob minha chave pública do SSH id_rsa.pub
  • Bob adiciona screen -x shared ao seu .bashrc
  • Bob inicia uma sessão de tela com screen -d -m -S shared e anexa a ela
  • Em seguida, Bob cria um backup de authorized_keys
  • Bob adiciona minha chave pública de SSH a authorized_keys via cat id_rsa.pub >> authorized_keys
  • Bob me informa para ir
  • Eu faço login via SSH como usuário Bob sem precisar saber a senha de Bob. Eu estou automaticamente ligado à sessão da tela já em execução, assim, Bob pode monitorar minhas operações
  • Depois de concluir a solução de problemas e sair, Bob volta para o antigo authorized_keys , revogando assim meu acesso SSH
  • Bob agora pode fechar todas as sessões de tela e remover a única linha que ele adicionou ao seu .bashrc

Requisitos da parte de Bob :

  • Um servidor SSH em execução
  • a tela precisa ser instalada

Ambas as ferramentas estão disponíveis nos repositórios de pacotes da sua distribuição Linux. Como a comunicação é feita diretamente entre mim e Bob, considero essa solução superior à abordagem do TeamViewer mencionada nos comentários. Além disso, o TeamViewer não é de código aberto.

    
por Dohn Joe 30.03.2017 / 15:18

1 resposta

2

O procedimento está bem. Bob pode editar sua chave ou restaurar o backup. Considere a possibilidade de que ~/.ssh/authorized_keys não exista.

Para monitorar o que alguém está fazendo no shell, eu usaria screen .

  1. Bob adiciona screen -R a .bashrc
  2. Você chega em uma sessão de tela ao fazer login. Bob pode ver tudo o que você digita na sessão de tela.

(Eu estou lembrando os comandos de tela por hearth e mais algumas configurações ou testes provavelmente são necessários. Verifique esta documentação link )

    
por 30.03.2017 / 15:41