Raspberry Pi & Windows: Einen Befehl per Mausklick an den Raspberry Pi senden

rasp_logoMit Tools wie PuTTY, WinSCP oder Remotedesktop kann man sich bequem zu einem Raspberry Pi verbinden und diesen steuern. Aber was, wenn man nur mal schnell ein einzelnes Kommando etwa zum Neustart abschicken möchte?

In solchen Fällen ist es recht umständlich, sich beispielsweise erst mit PuTTY anzumelden, das Kommando einzutippen und dann wieder abzumelden. Aber puTTY ist schon die halbe Lösung, um genau das möglichst bequem und einfach zu erreichen. Denn zum Lieferumfang des -> vollständigen PuTTY-Pakets gehört das kleine Programm plink.exe. Bei dieser „Miniversion“ von PuTTY kann man die Adresse des entfernten Rechners, die Anmeldedaten sowie einen Befehl als Parameter angeben. Alles weitere erledigt plink.exe automatisch, indem es eine Verbindung zum angegebenen Rechner herstellt, sich mit Benutzername und Kennwort anmeldet, das angegebene Kommando ausführt und sich wieder abmeldet.

Fertige plink-Kommandos definieren

Der Aufbau von plink-Kommandos folgt einem einfachen Schema:

plink [Optionen] [Benutzername@]Rechner [Befehl]

  • Der Rechner-Name ist obligatorisch, wobei es sich um eine IP-Nummer oder auch den dazugehörigen Namen handeln kann, sofern dieser im lokalen Netz aufgelöst werden kann.
  • Damit das Anmelden ohne Interaktion vollautomatisch erfolgen kann, muss man unbedingt den Benutzername mit angeben, und zwar in der Form <Benutzername@Rechner>, also beispielsweise pi@raspi oder pi@192.168.178.10.
  • Den Befehl, der ausgeführt werden soll, kann man einfach direkt ans Ende schreiben. Er darf auch Optionen usw. haben, die mit Leerzeichen getrennt werden. Selbstverständlich muss der angegebene Benutzer die Berechtigung haben, diesen Befehl auszuführen. Ggf. kann man aber auch mit sudo arbeiten, also etwa plink pi@raspi sudo shutdown -r 0.
  • Was nun noch fehlt ist das Passwort. Dies kann man als eine von verschiedenen möglichen Optionen mitgeben und zwar als -pw <Passwort>. Weitere interessante Optionen sind beispielsweise -load <Sitzungsname>, womit man die Anmeldeparameter eine gespeicherten PuTTY-Sitzung verwenden kann oder -m <Datei>, womit plink.exe die auszuführenden Befehle aus der Textdatei <Datei> ausliest und absendet.

Vollständig könnte ein plink-Befehl zum Neustarten eines Raspberry Pi also beispielsweise so lauten:

plink -no-antispoof -pw geheim pi@raspi sudo shutdown -r 0

Plink-Befehle als Verknüpfung auf dem Desktop ablegen

Wie schickt man einen solchen Befehl nun bequem per Mausklick (bzw. Doppelklick) ab? Hierzu kann man sich beispielsweise eine Verknüpfung auf dem Desktop anlegen (oder auch an einer beliebigen anderen Stelle):

  1. plink001Klicken Sie mit der rechten Maustaste auf eine leere Stelle des Desktops und wählen Sie im Kontextmenü Neu/Verknüpfung.
  2. Geben Sie im anschließenden Dialog im Feld für den Speicherort den kompletten plink-Befehl ein. Wichtig: Wenn plink.exe im PATH auffindbar ist (Sie dieses Kommando als direkt in einer Windows-Eingabeaufforderung eintippen können, reicht plink als Befehl. Andernfalls müssen Sie den kompletten Pfad zur Datei plink.exe angeben.
  3. plink002Im nächsten Schritt wählen Sie einen beliebigen Namen, der als Bezeichnung der Verknüpfung angegeben wird.
  4. Klicken Sie dann unten auf Fertig stellen.

plink003Als Ergebnis erhalten Sie eine Verknüpfung bzw. deren Symbol mit dem gewählten Namen. Diese können Sie jederzeit mit einem Doppelklick ausführen. Dann taucht kurz eine Eingabeaufforderung auf dem Bildschirm auf, die Sie aber ignorieren können. plink meldet sich beim entfernten Rechner an und führt den festgelegten Befehl aus. Das ganze kann ein, zwei Sekunden dauern, bis die Verbindung hergestellt ist (wie bei PuTTY selbst auch). Dann wird der Befehl auch schon ausgeführt und die Eingabeaufforderung schließt sich wieder.

Tipp: Wenn das kurz auftauchende Eingabefenster Sie stört (wobei das als Bestätigung, dass etwas passiert eigentlich ganz hilfreich ist), können Sie es unterdrücken. Öffnen Sie die Eigenschaften der Verknüpfungen (rechte Maustaste und Eigenschaften). Stellen Sie dort bei Ausführen in die Option Minimiert ein. Dann ist von der Eingabeaufforderung auf dem Bildschirm nichts zu sehen.

Update (19.11.2020): Aus Sicherheitsgründen wurde in neueren PuTTY-Versionen eine Antispoof-Funktion eingeführt, wodurch man zu Beginn einer Sitzung jeweils einmal [Eingabe] drücken muss. Dadurch klappt es nicht mehr ganz mit dem automatischen Ausführen per Doppelklick auf ein Desktop-Symbol. Die Lösung dafür ist die Option -no-antispoof, mit der sich das alte Verhalten von plink.exe wiederherstellen lässt. Die Anleitung wurde entsprechend ergänzt.

4 Antworten

  1. Andre Jung sagt:

    Danke Wolfram für die schnelle Antwort.Es funktioniert jetzt perfekt. 🙂

  2. Wolfram sagt:

    @Andre:
    Bei neueren Versionen von PuTTY wurde dies als Sicherheitsfunktion eingeführt.
    Es gibt dafür die PuTTY-Option -no-antispoof, mit der man dies umgehen kann. Dann sollte es wieder wie erwartet funktionieren.

  3. Andre Jung sagt:

    Hallo und vielen Dank für das Tutorial. 🙂
    Allerdings soll ich den Befehl noch einmal mit Return bestätigen, ist das mein Fehler oder normal ?

    E:Appsputtyplink.exe -pw meinpasswort pi@192.168.1.100 sudo shutdown -r 0

  4. Zetzi sagt:

    Hallo,
    Danke deine Seite hat mir gut geholfen :))
    gruß
    zetzi

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Schließen