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

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

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 yZeichen weitergeleitet stdin, bis plinkSie dasSchlüssel im Cache speichern? (j/n)Eingabeaufforderung, sodass alle weiteren plinkBefehle ohne Benutzereingaben ausgeführt werden können. Der exitBefehl schließt die SSH-Sitzung, nachdem sie hergestellt wurde, und ermöglicht die plinkAusfü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

PuTTYund plink.exeteilen 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 PuTTYund 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 dannOK
  • Von nun an plink.exewerden Sie nicht mehr gefragt, ob Sie dem Server vertrauen oder nicht - er weiß bereits, dass Sie es tun.

Antwort4

die auto_store_sshkeyMöglichkeit besteht inKlink, Teil derKiTTY, kann die Eingabeaufforderung für den Store-Schlüssel übersprungen werden.

klink -auto_store_sshkey -batch 192.211.158.256 -l user -pw password 

verwandte Informationen