Usando o SSH para se conectar a um novo servidor sem armazenar as chaves do host no arquivo $ HOME / .ssh / known_host

8

Eu recebo a seguinte saída se eu executar o seguinte comando:

-bash-3.2$ ssh -o "StrictHostKeyChecking no" 192.168.1.77
Warning: Permanently added '192.168.1.77' (RSA) to the list of known hosts.
Last login: Fri Jul  4 10:49:11 2014 from chlorine.example.com
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
-bash-3.2$

Eu gostaria de executar este comando, sem 192.168.1.77 ser adicionado à lista de hosts conhecidos, mas ainda permitindo um login bem-sucedido.

Existe uma opção SSH que permite isso? Eu passei pela página man para ssh_config e tentei todas as opções prováveis, como definir "CheckHostIP no" sem sucesso.

Ambos os sistemas local e remoto estão executando o Solaris 10.

Se necessário, eu poderia fazer o backup do meu arquivo $HOME/.ssh/known_hosts antes de fazer uma conexão e restaurá-lo depois de fazer a conexão, mas se houver uma opção SSH que me permita evitar isso, prefiro usar isso.

    
por Warwick 04.07.2014 / 03:09

1 resposta

14

Eu vejo algumas outras opções a partir da resposta aqui .

Opção 1:

-o "UserKnownHostsFile /dev/null"

Opção 2:

Se você quiser esse comportamento porque está trabalhando com servidores em nuvem (AWS EC2, Rackspace CloudServers etc.) ou está constantemente provisionando novas imagens no Vagrant, convém atualizar sua configuração de SSH em vez de adicionar aliases de bash ou mais opções na linha de comando.

Considere adicionar algo como:

  Host *.mydomain.com 
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
  User foo
  LogLevel QUIET
  • Use o máximo possível de regex para o host para ser seguro.
  • Definir o LogLevel como QUIET manterá o aviso que Guillaume mencionou ao aparecer.
por 04.07.2014 / 03:23