Das erste Mal wird ssh-copy-id
es 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?
Antworten:
Wenn Sie
ssh-copy-id
die Option StrictHostKeyChecking nicht unterstützen, können Sie ein Skript schreiben, das Folgendes tut:ssh-keyscan
den Zielserver aus, um den öffentlichen Schlüssel abzurufenssh-copy-id
quelle
SSH bietet eine Option zum automatischen Hinzufügen von Hostschlüsseln zur Datei der vertrauenswürdigen Hosts:
Alternativ können Sie Folgendes tun:
Bearbeiten : Da diese Lösungen anscheinend nicht funktionieren
ssh-copy-id
, können Sie jederzeit eine~/.ssh/config
Datei mit der folgenden Option erstellen :Dies sollte mit allen SSH-Verbindungen funktionieren, unabhängig davon, ob sie über ein Skript aufgerufen werden oder nicht.
quelle
ssh-copy-id
hat auch nicht-o
ssh-copy-id -?
ssh-copy-id
ist ein Skript. Sie können es ändern,-o StrictHostKeyChecking=no
um diesen Parameter in der Datei ssh_config hinzuzufügen oder zu deaktivieren.ssh-copy-id servername
funktioniert einwandfrei.sudo sed -i.bak 's/ssh \$/ssh -o StrictHostKeyChecking=no \$/' $(which ssh-copy-id)
.Versuche dies:
Es werden die Hostschlüssel nicht zur Datei "unknown_hosts" hinzugefügt, sondern Sie können den öffentlichen Schlüssel an den
authorized_keys
gewünschten kopieren (oder anhängen) , wenn dies hier der einzige Zweck ist.quelle