Estou tendo problemas para adicionar um IP aknown_hosts na linha de comando. Eu tenho um script de backup mysql que deve fazer upload de arquivos para outro servidor usando sftp. O script funciona bem, mas você precisa executar o comando sftp manualmente uma vez para adicionar o ip aknown_hosts ou o script falhará.
O script deve ser portátil para que possa ser descartado em um servidor e faça tudo automaticamente. Não é necessário que o usuário se conecte manualmente usando sftp na primeira vez.
Tentei adicionar o ip usando:
ssh-keygen -R [receiver IP]
ssh-keyscan -H [receiver IP] >> ~/.ssh/known_hosts
Mas estou recebendo o seguinte erro:
ssh-keygen: /root/.ssh/known_hosts: Esse arquivo ou diretório não existe
Devo apenas adicionar touch para criar o arquivoknown_hosts ou qual é a melhor coisa a fazer?
Responder1
Como deve ser portátil para qualquer servidor, acho que a melhor opção para você é anexarStrictHostKeyChecking = nãoao seu comando ssh assim:
ssh -o StrictHostKeyChecking=no [backupuser]@[backupserver]
Você também pode adicionar esta opção globalmente em seu arquivo de configuração sshd assim:
StrictHostKeyChecking No