Força o ssh a não imprimir avisos

20

Existe uma maneira de evitar mensagens de aviso de impressão ssh como esta?

"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
"@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\r",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",

Embora a identidade do host remoto tenha mudado, mas sei que está tudo bem Só quero me livrar desse aviso.

    
por coffeMug 23.01.2014 / 09:59

5 respostas

12

Quatro maneiras:

Para se conectar apenas uma vez a um sistema com uma nova chave de host, sem precisar responder a perguntas, conecte-se com a seguinte opção:

ssh -q -o "StrictHostKeyChecking no" this.one.host.name

Para remover permanentemente o aviso para todos sistemas, edite o arquivo ~/.ssh/config para adicionar as seguintes linhas:

Host *
StrictHostKeyChecking no

Para remover permanentemente todos os avisos para esse um servidor, edite seu arquivo ~/.ssh/config e adicione as seguintes linhas:

Host this.one.hostname
StrictHostKeyChecking no  

Para remover o aviso dessa única alteração deste servidor, remova a chave do host desse servidor de ~/.ssh/known_hosts . Na próxima vez que você se conectar, a nova chave do host será adicionada.

    
por 23.01.2014 / 10:12
21

Adicione isto ao seu ~ / .ssh / config:

Host 10.*                            # use your own pattern here, eg. *.example.com, example.*.com
  StrictHostKeyChecking   no         # turn off the HostKey check                                                               
  LogLevel                ERROR      # keep it from printing to STDOUT
  UserKnownHostsFile      /dev/null  # (optional) add the host automatically to a black hole, otherwise it would be added to ~/.ssh/known_hosts and show you a warning/message at the top of your session. You may want it added to known_hosts if your shell uses 'ssh' autocompletion, such as fish. 
    
por 19.05.2017 / 00:35
19

Você pode pegar a linha desse host de ~/.ssh/known_host (cada host tem uma linha como entrada).

Alternativa é usar:

ssh -q -o "StrictHostKeyChecking no" ....

O uso apenas de -q teria ssh silenciosamente falhando.

    
por 23.01.2014 / 10:03
8

Por vezes não é desejável adicionar chaves de host ao padrão $ HOME / .ssh / known_hosts.

Use -o UserKnownHostsFile=/dev/null além de -q e -o StrictHostKeyChecking=no para manter os known_hosts organizados. Aqui está um exemplo:

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -q [email protected]
    
por 05.06.2015 / 01:10
2

Uma sugestão alternativa é identificar por que a chave do host está mudando e fazer com que ela pare de fazer isso.

Como exemplo: se você estiver criando hosts em contêineres ou por meio de um sistema de provisionamento, verifique se eles usam consistentemente a mesma chave de host conhecida por instância.

Estou ciente de que isso nem sempre é possível, e os hosts podem ser gerenciados fora de seu escopo de controle, mas esses avisos de hostkey estão lá por um motivo e são significativos. Reduzir a contagem de exceções é uma coisa boa.

Caso contrário, eu voto em StrictHostKeyChecking Não em seu ~/.ssh/config para o host específico em questão somente.

    
por 15.12.2017 / 22:42

Tags