Automatisches Speichern des Server-Hostschlüssels im Cache mit Link

21

Ich habe versucht, Befehle mithilfe von plink abzurufen, um Informationen von meinem externen Server abzurufen. Beachten Sie, dass diese Verknüpfungsbefehle von einer Binärdatei ausgeführt werden, die keine Benutzereingabe erwartet. Gibt es ein Flag, mit dem ich diese Fehlermeldung überschreiben und mit der Programmausgabe fortfahren kann?

The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n)

Vielen Dank!

Tad Oh
quelle
Das eigentliche Problem ist, dass entweder Git Eingaben nicht richtig an Plink weitergibt oder umgekehrt Plink sie nicht richtig aufnimmt. Wenn Sie git clonez. B. "git bash" starten , wird die Eingabe (J / n) in die Bash-Eingabeaufforderung eingegeben, und Bash antwortet normalerweise mit bash: y: command not found.
Andrybak
Sie könnten klink aus Kittys Projekt verwenden . Das ist die Kittgabel. Es gibt den Schlüssel: -auto-store-sshkey.
paxlo

Antworten:

20

Stellen Sie Ihrem Skript Folgendes voran:

echo y | plink -ssh root@REMOTE_IP_HERE "exit"

Dies leitet den yCharakter weiter, stdinbis plinkSie den Store-Schlüssel im Cache haben. Eingabeaufforderung (j / n) , damit alle weiteren plinkBefehle ohne Benutzereingabe weitergeleitet werden können. Mit dem exitBefehl wird die SSH-Sitzung geschlossen, nachdem sie eingerichtet wurde, und die folgenden plinkBefehle können ausgeführt werden.

Hier ist ein Beispielskript, das die Unix-Zeit des externen Servers in eine lokale Datei schreibt:

echo y | plink -ssh root@REMOTE_IP_HERE "exit"
plink -ssh root@REMOTE_IP_HERE "date -t" > remote_time.tmp

Pipelining-Referenz : http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-4.html

Daniel Li
quelle
-1

Vielleicht hilft es:

plink -auto_store_sshkey -batch 192.211.158.256 -l user -pw password command
Falcluft
quelle
1
-auto_store_sshkey ist eine "unbekannte Option" für Plink Version 0.63
Nathan
Unbekannt für 0,66
Joril
... und 0,70 unbekannt
Gerrat