Responda "yes" à ssh-copy-id pela primeira vez executada por script?


8

A primeira vez ssh-copy-idque perguntará

# ssh-copy-id -i .ssh/id_dsa.pub backup@example.com
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:


6

Se o seu ssh-copy-idnão suporta a opção StrictHostKeyChecking, você pode escrever um script que:

  1. Execute ssh-keyscanno servidor de destino para obter a chave pública
  2. Anexe isso ao arquivo known_hosts
  3. Corre ssh-copy-id

8

O SSH tem uma opção para adicionar automaticamente quaisquer chaves de host ao arquivo de hosts confiáveis:

ssh-copy-id -i .ssh/id_dsa.pub -o StrictHostKeyChecking=no backup@example.com

Como alternativa, você pode fazer o seguinte:

echo "yes \n" | ssh-copy-id -i .ssh/id_dsa.pub backup@example.com

Editar : como parece que essas soluções não funcionam ssh-copy-id, você sempre pode criar um ~/.ssh/configarquivo com a seguinte opção:

StrictHostKeyChecking no

Isso deve funcionar com todas as conexões SSH, independentemente de serem invocadas por meio de um script ou não.


1
Infelizmente não funciona, e ssh-copy-idnão tem #-o
308 Sandra Sandra

Estranho, ele faz relatório que o interruptor quando da emissãossh-copy-id -?
brain99

1
@sandra ssh-copy-idé um script. Você pode modificá-lo para adicionar -o StrictHostKeyChecking=noou desativar esse parâmetro no arquivo ssh_config.
precisa saber é

Além disso, você não precisa especificar o local da chave ... ssh-copy-id servernamefunciona bem.
precisa saber é o seguinte

sudo sed -i.bak 's/ssh \$/ssh -o StrictHostKeyChecking=no \$/' $(which ssh-copy-id).
Quanta

0

Tente o seguinte:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@example.com -y

ele não adiciona as chaves do host ao arquivo known_hosts, mas permite copiar (ou anexar) a chave pública à authorized_keysque você deseja, se esse for o único objetivo aqui.


não há opção -y
ImranRazaKhan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.