Wie führe ich eine Befehlsdatei in PuTTY mit automatischer Anmeldung in einer Eingabeaufforderung aus?

Ich verwende Folgendes, um mich automatisch bei einem Remote-Server anzumelden und dann Befehle auszuführen, die in einem commands.txt aufgeführt sind:

C:\path\to\putty.exe -load "[Sessionname]" -l [user] -pw [password] -m C:\path\to\commands.txt

commands.txt enthält Folgendes:

ps -elf|grep 'sometext'

Wenn ich dies versuche, wird jedoch ein neues Fenster für PuTTY angezeigt, das jedoch sofort nach der Anmeldung geschlossen und beendet wird. Daher kann ich die Ausgabe der Befehle nicht sehen.

Ich verstehe nicht, was hier Los ist. Bin ich falsch in meinem Ansatz oder muss ich mehr Schritte unternehmen, um die PuTTY Fenster Pause für einige Zeit vor dem Verlassen?

Author: Peter Mortensen, 2012-12-06

5 answers

Zuerst müssten Sie eine separate Datei erstellen, die alle Befehle enthält, die Sie ausführen möchten.

Beispiel: Ich möchte Drupal mit PuTTY auf meine Domain herunterladen und installieren. Dazu müssen Sie:

, erstellen Sie Zuerst eine .txt-Datei. Innerhalb dieser Datei befinden sich die Befehle. Meine sind: "drush dl drupal" nächsten Zeile "drush si --account-name=[account-name] --account-pass=[Konto, Passwort] --db-url=mysql://[user]:[pass]@localhost/[database name] --y - "

Nach dem Speichern dieser Datei erstellen Sie nun eine BAT - Datei oder geben Sie sie in die CMD-Eingabeaufforderung ein:

  • ssh.cmd
  • @echo auf [damit Sie sehen, was los ist]
  • [Navigieren Sie zu Ihrer Kittinstallation. Meins ist:] cd C:\Program Files\Putty
  • Start putty.exe -ssh [domain name] -l [username] -pw [password] -m [the directory of the .txt file you created which contains the codes you want to be executed]
 12
Author: Jero Dungog,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-06-12 07:45:24

Sie sollten plink.exe (eine Befehlszeilenschnittstelle zu den PuTTY-Backends) und nicht putty.exe

Das bekommst du von der [[6]}PuTTY Download Seite

Ohne plink:

Es scheint, dass die einzige Möglichkeit darin besteht, die Optionen -log <logfile> zu verwenden und dann den Inhalt zu drucken und zu löschen.

 11
Author: Aviram Segal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-12-06 11:38:21

Ihr Ansatz scheint gut zu sein, aber es gibt eine Standardeinstellung im Verhalten, die Ihnen hier Probleme bereitet und Sie wahrscheinlich glauben lässt, dass nichts passiert.

Wenn ich dies versuche, wird jedoch ein neues Fenster für PuTTY angezeigt, das jedoch sofort nach der Anmeldung geschlossen und beendet wird

Ihre Sitzung endet unmittelbar nach der Ausführung des Befehls, und PuTTY schließt das Fenster standardmäßig. Siehe die Dokumentation von PuTTY, wie Sie dieses Verhalten für Ihre Sitzung.

4.1.3 `Close Window on Exit'

   Finally in the Session panel, there is an option labelled `Close
   Window on Exit'. This controls whether the PuTTY terminal window
   disappears as soon as the session inside it terminates.
 2
Author: gertvdijk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-12-06 12:13:17

Es gibt kein Problem, wenn Sie nur die Batchdatei erstellen möchten, um den Unix-Computer zu öffnen. Unten ist das Beispiel:

"PuTTY path" -ssh machinename -l username -pw password

Der PuTTY-Pfad sollte in doppelten Anführungszeichen stehen, wie "C:\Program Dateien\putty\putty.ext

Machinename = machinename ohne doppelte Anführungszeichen

Password = mit Anführungszeichen

 2
Author: user443234,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-13 17:59:37

Zusätzlich zu Avirams Antwort:

Unten ist das Beispiel, wie Sie PuTTY-Befehle über die Eingabeaufforderung ausführen:

  • Gehen Sie zuerst in das PuTTY-Installationsverzeichnis, z. B. C:\Program Files\PuTTY, und führen Sie dann den folgenden Befehl aus:

    Plink.exe - ssh server_ip -P port_no -l benutzername -pw passwort

 0
Author: Vishrant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39