A primeira vez que alguém conecta um servidor desconhecido com ssh
, ele obtém:
$ ssh root@<IP>
The authenticity of host '<IP> (<IP>)' can't be established.
ECDSA key fingerprint is SHA256:ZmlG4578we0daN56544KJFPYwH0vOi2bMPkLTv8io.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Isso é doloroso se o ambiente estiver totalmente sob controle e a conexão for feita em um script (um script de criação de infraestrutura em nuvem no meu caso).
Existe uma maneira de aceitar automaticamente este servidor e ter o IP armazenado known_hosts
sem uma validação manual?
Eu fui até a página do manual, mas não consegui encontrar nada aplicável.
Também tentei echo yes | ssh -q root@<IP>
sem mais sucesso.
Para OpenSSH [ênfase minha]:
( fonte )
Você deseja
StrictHostKeyChecking accept-new
(ouStrictHostKeyChecking=accept-new
, ambas as sintaxes são boas) em/etc/ssh/ssh_config
ou em seu~/.ssh/config
, ou como um argumento de opção ao-o
invocarssh
:Em vez de
accept-new
você pode especificarno
se acha que é isso que deseja.Você pode usar o comando assim:
para evitar esta mensagem, mas isso deixa você aberto para ataques intermediários, então IMHO não é uma boa ideia