Falha se a chave do host remoto do SSH for desconhecida

1

Estou usando uma ferramenta que depende do ssh para se conectar a um host remoto. Infelizmente, essa ferramenta não aceita entradas do usuário e, quando a chave do host remoto é desconhecida, a chamada fica suspensa para sempre. Existe uma opção ou um conjunto de opções que fazem a invocação ssh falhar quando a chave do host remoto é desconhecida?

    
por Jcs 01.05.2015 / 12:36

4 respostas

0

Como solução alternativa, você pode verificar se o host é confiável:

$ ssh-keygen -H -F host.example.com
# Host host.example.com found: line 205 type RSA
...

Note que ssh-keygen sai com 0 em qualquer caso aqui, então você tem que verificar a saída:

ssh-keygen -H -F host.example.com |
   grep -q found: || echo "host is not trusted" && exit 2
    
por 05.11.2015 / 11:50
0

Você pode usar -oBatchMode=yes para falhar onde a interação do usuário seria necessária (por exemplo, pedindo uma senha, verificando a chave do host remoto, etc.)

    
por 21.09.2018 / 13:16
0

Use -o StrictHostKeyChecking=yes para invocação de ssh :

If this flag is set to yes, ssh(1) will never automatically add host keys to the ~/.ssh/known_hosts file, and refuses to connect to hosts whose host key has changed.

O padrão é ask e é por isso que você tem um problema:

If this flag is set to ask (the default), new host keys will be added to the user known host files only after the user has confirmed that is what they really want to do, and ssh will refuse to connect to hosts whose host key has changed.

    
por 21.09.2018 / 13:22
-1

Você pode adicionar opções padrão em ~ / .ssh / config como:

Host *
    StrictHostKeyChecking no

Isso desativa o ssh reclamando sobre chaves de host desconhecidas ou alteradas.

Você pode limitar essas opções a um conjunto de hosts, fornecendo um padrão de host apropriado.

    
por 01.05.2015 / 13:03

Tags