PuTTYs plink Command verwenden, um SSH-Aktionen unter Windows zu automatisieren

Zusammenfassung

SSH ist eine sichere und bequeme Methode zur Automatisierung von Skripten auf entfernten Servern. Auf UNIX- und Linux-Rechnern ist die Einrichtung von SSH fast trivial, unter Windows ist sie jedoch schwieriger. Der Befehl plink“ von PuTTY kann zur Automatisierung von SSH-Aktionen unter Windows verwendet werden. „plink“ hat einige spezifische Initialisierungsanforderungen auf Windows-Rechnern, damit es von der DPX-Skriptschnittstelle aus verwendet werden kann. Dieser Artikel beschreibt die Verwendung des Windows-Befehls „plink“, der in der PuTTY-Suite von Dienstprogrammen enthalten ist. Dies soll keine umfassende Übersicht über die Verwendung von „plink“ sein. Er behandelt insbesondere die Aktivierung der erforderlichen Hostschlüssel für die Verwendung mit der DPX-Skript-Engine. „

Schritt für Schritt

PuTTY ist ein frei verfügbarer SSH-Client von Drittanbietern für Windows-Plattformen. Zum Zeitpunkt der Erstellung dieses Artikels ist PuTTY verfügbar unter: www.chiark.greenend.org.uk/~sgtatham/putty/

Catalogic Software bietet keinen technischen Support für ausführbare Programme von Drittanbietern. Die Verwendung von Drittanbieterprogrammen erfolgt auf eigene Gefahr.

„plink.exe“ kann in einem Windows-Batch-Skript verwendet werden, um die Ausführung von Remote-Skripten über SSH zu automatisieren. Dies ist besonders hilfreich bei der Automatisierung von NetApp Operationen und dem Auslösen zusätzlicher Skripte auf UNIX- und Linux-Hosts. Ein typischer Befehl sieht wie folgt aus:

plink -ssh -l root -pw "password" host-name command

Ein spezifischeres Beispiel ist:

plink -ssh -l root -pw "password" 192.168.199.10 "reboot"

Auf kompatiblen UNIX/Linux-Systemen bewirkt dieser Befehl, dass der Remote-Rechner mit der Adresse 192.168.199.10 sofort neu startet.

Wenn Sie plink zum ersten Mal von der Windows-Befehlszeile aus auf einem neuen Rechner ausführen, erscheint eine Meldung ähnlich der folgenden:

The server's host key is not cached in the registry. Youhave no guarantee that the server is the computer youthink it is.The server's rsa2 key fingerprint is:ssh-rsa 768 d1:1a:29:c0:6d:71:db:3b:36:7b:c1:01:b5:da:ca:d8If you trust this host, enter "y" to add the key toPuTTY's cache and carry on connecting.If you want to carry on connecting just once, withoutadding the key to the cache, enter "n".If you do not trust this host, press Return to abandon theconnection.Store key in cache? (y/n)

Dies ist eine interaktive Eingabeaufforderung, die Sie nicht umgehen können. Wenn Sie „y“ wählen, wird ein Host-Schlüssel in der Windows-Registrierung zwischengespeichert, und für diesen Host wird die Frage nach dem Fingerabdruck des Schlüssels nicht erneut gestellt. Wenn Sie ’n‘ wählen, wird der Schlüssel nicht zwischengespeichert und die Frage erscheint jedes Mal, wenn Sie versuchen, eine Verbindung zu diesem Host herzustellen.

„plink“ speichert diese Host-Schlüssel im Profil des Benutzers innerhalb der Registrierung HKEY_CURRENT_USER. Dieser Bereich der Registrierung ist spezifisch für die aktuelle Anmeldung; er bleibt zwischen Anmeldesitzungen bestehen, aber diese Werte werden nicht mit anderen Benutzern des Systems geteilt.

Hier liegt das Problem. Das für DPX verwendete Standardkonto ist „Lokales Systemkonto“. Überprüfen Sie diese Einstellung, indem Sie den Windows-Dienstmanager aufrufen. Suchen Sie im Dienstemanager den cmagent-Dienst, klicken Sie mit der rechten Maustaste darauf, wählen Sie „Eigenschaften“ und überprüfen Sie dann die Registerkarte „Anmelden“. Damit DPX plink effektiv nutzen kann, muss in der Registrierung HKEY_CURRENT_USER ein Hostschlüssel für das angegebene Anmeldekonto des cmagent-Dienstes zwischengespeichert werden. Das Problem ist, dass das „Lokale Systemkonto“ keine direkte Möglichkeit hat, sich bei der Konsole anzumelden und diese Werte einfach zu setzen.

Es gibt zwei Möglichkeiten:

  • Erstellen Sie ein Administratorkonto, das vollen Zugriff auf die gesamte lokale Maschinenhardware und die unterstützten Anwendungsschnittstellen hat
  • Verwenden Sie das „Lokale Systemkonto“

Im Allgemeinen ist die einfachere Methode, ein Administratorkonto zu erstellen, das vollen Zugriff auf die gesamte lokale Maschinenhardware und die unterstützten Anwendungsschnittstellen hat. In der Regel eignet sich ein lokaler Rechneradministrator oder ein Domänenadministratorkonto, obwohl jedes Konto ausreicht, wenn es über die erforderlichen Berechtigungen verfügt, damit DPX-Sicherungs- und Wiederherstellungsvorgänge ordnungsgemäß funktionieren. Sobald das Konto erstellt ist, gehen Sie wie folgt vor:

  1. Gehen Sie in den Windows-Dienstmanager und ändern Sie die DPX-Dienste (insbesondere cmagent) so, dass sie dieses neue Konto verwenden. Testen Sie einen Datensicherungsauftrag, um sicherzustellen, dass dieses Konto für DPX funktioniert.
  2. Melden Sie sich unter diesem Konto an und rufen Sie eine Befehlsshell auf. Rufen Sie für jeden Host, zu dem Sie eine Verbindung herstellen müssen, „plink -ssh user@host-name“ auf, und wenn Sie nach dem Fingerabdruck des Schlüssels gefragt werden, antworten Sie mit „y“, um den Wert zu speichern. Es sind keine weiteren Befehle erforderlich; Sie können alle interaktiven Shells, die aufgerufen werden, beenden.

Die erforderlichen Werte werden zwischengespeichert in:
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.