Como adicionar host conhecido SSH em um script bash?

Como adicionar host conhecido SSH em um script bash?

Estou criando um script bash para provisionar um novo servidor no qual posso implantar um aplicativo da web. Uma coisa que sempre tenho que fazer é usar o GitHub como um host conhecido usando . Como posso automatizar esse processo em um script bash e fazê-lo de maneira idempotente?ssh [email protected]

Responder1

A maneira mais simples de fazer seria fazer algo assim.

ssh-keyscan remote_server >>~/.ssh/known_hosts

Se esta caixa for nova, você também poderá precisar criar o ~/.sshdiretório antes de executarssh-keyscan.

Tenha em mente que o ssh-keyscan pode aceitar um número arbitrário de nomes de host. Ele receberá todas as chaves que puder.

Responder2

Você está tentando automatizar a aceitação da nova chave? Nesse caso, você poderia usar -oStrictHostKeyChecking=no.
Fazer isso é uma péssima ideia, pois agora você está completamente aberto a ataques man-in-the-middle.

Uma opção melhor seria apenas gerenciar um arquivoknown_hosts e reutilizá-lo ao provisionar novos servidores. Cole-o no github e escreva um script simples para baixar esse arquivo antes de fazer o sshing no github.

A verificação rigorosa da chave do host é uma coisa boa.

Responder3

Não tenho certeza se entendi a pergunta, mas acho que você deseja ignorar o promptknown_host ou evitá-lo completamente; nesse caso:

ssh -o StrictHostKeyChecking = não

ou outras sugestões em:http://www.joedog.org/2012/07/ssh-disable-known_hosts-prompt/

informação relacionada