
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 ~/.ssh
diretó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/