Antworten Sie mit "Ja" auf die ssh-copy-id, die zum ersten Mal per Skript ausgeführt wird?

8

Das erste Mal wird ssh-copy-ides fragen

# 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)? 

Ist es möglich, dies zu schreiben, sodass das Skript nur mit Ja antwortet?

Sandra
quelle

Antworten:

6

Wenn Sie ssh-copy-iddie Option StrictHostKeyChecking nicht unterstützen, können Sie ein Skript schreiben, das Folgendes tut:

  1. Führen Sie ssh-keyscanden Zielserver aus, um den öffentlichen Schlüssel abzurufen
  2. Hängen Sie das an die Datei unknown_hosts an
  3. Lauf ssh-copy-id
cjc
quelle
8

SSH bietet eine Option zum automatischen Hinzufügen von Hostschlüsseln zur Datei der vertrauenswürdigen Hosts:

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

Alternativ können Sie Folgendes tun:

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

Bearbeiten : Da diese Lösungen anscheinend nicht funktionieren ssh-copy-id, können Sie jederzeit eine ~/.ssh/configDatei mit der folgenden Option erstellen :

StrictHostKeyChecking no

Dies sollte mit allen SSH-Verbindungen funktionieren, unabhängig davon, ob sie über ein Skript aufgerufen werden oder nicht.

brain99
quelle
1
Funktioniert leider nicht und ssh-copy-idhat auch nicht-o
Sandra
ssh-copy-id -?
Seltsam
1
@sandra ssh-copy-idist ein Skript. Sie können es ändern, -o StrictHostKeyChecking=noum diesen Parameter in der Datei ssh_config hinzuzufügen oder zu deaktivieren.
ewwhite
Außerdem müssen Sie die Schlüsselposition nicht angeben ... ssh-copy-id servernamefunktioniert einwandfrei.
ewwhite
sudo sed -i.bak 's/ssh \$/ssh -o StrictHostKeyChecking=no \$/' $(which ssh-copy-id).
Quanten
0

Versuche dies:

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

Es werden die Hostschlüssel nicht zur Datei "unknown_hosts" hinzugefügt, sondern Sie können den öffentlichen Schlüssel an den authorized_keysgewünschten kopieren (oder anhängen) , wenn dies hier der einzige Zweck ist.

Abhay Tiwari
quelle
Es gibt keine Option
ImranRazaKhan