
Ich habe versucht, Befehle mit Plink einzugeben, um Informationen von meinem externen Server abzurufen. Beachten Sie, dass diese Plink-Befehle von einer Binärdatei ausgeführt werden, die keine Eingabe vom Benutzer 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)
Danke schön!
Antwort1
Versuchen Sie, Ihrem Skript Folgendes voranzustellen:
echo y | plink -ssh root@REMOTE_IP_HERE "exit"
Dadurch wird das y
Zeichen weitergeleitet stdin
, bis plink
Sie dasSchlüssel im Cache speichern? (j/n)Eingabeaufforderung, sodass alle weiteren plink
Befehle ohne Benutzereingaben ausgeführt werden können. Der exit
Befehl schließt die SSH-Sitzung, nachdem sie hergestellt wurde, und ermöglicht die plink
Ausführung der folgenden Befehle.
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
Antwort2
Die akzeptierte Antwort ist "akzeptabel", aber unsicher. Am besten wäre es, den Host-Schlüssel für plink anzugeben, um zu verhindern, dassDer Mann in der MitteAttacke.
plink -hostkey aa:bb:cc... root@REMOTE_IP_HERE [...]
Antwort3
PuTTY
und plink.exe
teilen sich denselben Cache mit „akzeptablen Serverschlüsseln“ auf dem Host, auf dem sie installiert sind.
Wenn Ihr Szenario alsointeraktiv(und daher Ihre Frustration, nicht gehört zu werden, wenn Sie „y“ oder „n“ drücken), besteht eine Problemumgehung darin, zuerst zu versuchen, eine Verbindung mit PuTTY herzustellen.
Dabei gilt Folgendes:
- Sie öffnen
PuTTY
und geben vor, eine interaktive SSH-Sitzung mit dem Server zu starten - Sie erhalten ein Windows-Dialogfeld mit dem Schlüssel und der Frage, ob Sie ihm vertrauen möchten
- Sie überprüfen den angezeigten Schlüssel, um MITMs abzuwehren, und drücken dann
OK
- Von nun an
plink.exe
werden Sie nicht mehr gefragt, ob Sie dem Server vertrauen oder nicht - er weiß bereits, dass Sie es tun.