Automatize a autenticação de senha única

2

É possível fazer login no host remoto sem senha, ou seja, ssh-copy-id <host> .

No entanto, preciso inserir a senha de uso único (OTP) sempre que fizer login em um host remoto. Como posso pular esta parte OTP? É possível armazenar uma sessão ssh no meu PC por tempo limitado?

Estou usando o Ubuntu 16.04.02

    
por Kadir 10.04.2017 / 08:03

1 resposta

3

Não. O ponto do "segundo fator" é que é algo diferente de uma senha e, portanto, não deve ser armazenado no mesmo dispositivo que o primeiro fator.

Uma senha de tempo é desafio-resposta interativa, portanto, não é aconselhável automatizá-la (por motivos de segurança).

Mas ... há o recurso ControlMaster com a opção ControlPersist no OpenSSH, que faz algo que pode resolver seus problemas. Ele permite que você emita várias sessões ssh usando uma única conexão TCP e preserve essa conexão mestre por algum tempo após o final original.

Como fazer isso? Armazene este snippet de configuração no ~/.ssh/config :

Host your-server
  ControlPath ~/.ssh/control-master-%C
  ControlMaster auto
  ControlPersist 5m

Mas certifique-se de que os sockets criados em ~/.ssh/control-master-%C não sejam acessíveis por nenhum outro usuário em seu sistema, porque nesse caso eles poderiam se conectar ao seu servidor também!

    
por 10.04.2017 / 09:21