A primeira vez ssh-copy-id
que perguntará
# ssh-copy-id -i .ssh/id_dsa.pub [email protected]
The authenticity of host 'example.com (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is 39:fb:5e:70:30:33:2b:18:17:e9:4f:2f:91:b5:d2:21.
Are you sure you want to continue connecting (yes/no)?
É possível criar um script para que o script responda sim?
Respostas:
Se o seu
ssh-copy-id
não suporta a opção StrictHostKeyChecking, você pode escrever um script que:ssh-keyscan
no servidor de destino para obter a chave públicassh-copy-id
fonte
O SSH tem uma opção para adicionar automaticamente quaisquer chaves de host ao arquivo de hosts confiáveis:
Como alternativa, você pode fazer o seguinte:
Editar : como parece que essas soluções não funcionam
ssh-copy-id
, você sempre pode criar um~/.ssh/config
arquivo com a seguinte opção:Isso deve funcionar com todas as conexões SSH, independentemente de serem invocadas por meio de um script ou não.
fonte
ssh-copy-id
não tem #-o
ssh-copy-id -?
ssh-copy-id
é um script. Você pode modificá-lo para adicionar-o StrictHostKeyChecking=no
ou desativar esse parâmetro no arquivo ssh_config.ssh-copy-id servername
funciona bem.sudo sed -i.bak 's/ssh \$/ssh -o StrictHostKeyChecking=no \$/' $(which ssh-copy-id)
.Tente o seguinte:
ele não adiciona as chaves do host ao arquivo known_hosts, mas permite copiar (ou anexar) a chave pública à
authorized_keys
que você deseja, se esse for o único objetivo aqui.fonte