BATch-Dateien - andere Kommandozeilentools

Auswahl weiterer Kommandozeilentools, die nicht zum Umfang von MS Windows gehören.

Liste weiterer Kommandozeilentools

In dieser Rubrik werden verschiedene Kommandozeilentools aufgelistet, die sich ebenso in Batch-Dateien verwenden lassen. Es sind zumeist Portierungen bekannter Unix-Kommandozeilentools oder aber Freeware für Windows.
Alle genannten Programme gehören nicht(!) zum Umfang von MS Windows.

plink

Übersicht

Befehl
Name
Kurzbeschreibung
Autor
Webseite
Lizenz
Syntax
Beispiele
     SSH Zugriff mit Plink, Pscp
     Unterschiede Putty und OpenSSH: Page-Agent
Links


Befehlplink
NamePutty – Plink
KurzbeschreibungKommando per SSH absetzen
AutorSimon Tatham
Webseitehttps://www.chiark.greenend.org.uk/~sgtatham/putty/
LizenzFreeware
Syntax
PuTTY Link: command-line connection utility
Development snapshot 2003-05-29
Usage: plink [options] [user@]host [command]
       ("host" can also be a PuTTY saved session name)
Options:
  -v        show verbose messages
  -load sessname  Load settings from saved session
  -ssh -telnet -rlogin -raw
            force use of a particular protocol (default SSH)
  -P port   connect to specified port
  -l user   connect with specified username
  -m file   read remote command(s) from file
  -batch    disable all interactive prompts
The following options only apply to SSH connections:
  -pw passw login with specified password
  -D listen-port   Dynamic SOCKS-based port forwarding
  -L listen-port:host:port   Forward local port to remote address
  -R listen-port:host:port   Forward remote port to local address
  -X -x     enable / disable X11 forwarding
  -A -a     enable / disable agent forwarding
  -t -T     enable / disable pty allocation
  -1 -2     force use of particular protocol version
  -C        enable compression
  -i key    private key file for authentication
  
Beispiele

SSH Zugriff mit Plink, Pscp

Beispiel 1:
Mit plink ein SSH Kommando ausführen.
Die Ausgabe von ps -ef (Liste aller laufenden Prozesse) wird lokal im TEMP-Ordner als prozesse.log gespeichert.
set puttyconnection=ssh01.example.com
set pscpoptions=-C -agent
set logfile=%temp%\ausgabe.log

plink %pscpoptions% %puttyconnection% ps -ef >"%logfile%"

echo ===== fertig ... Taste zum beenden...
pause>nul

Beispiel 2:
Mit pscp eine Datei (oder auch mehrere) vom SSH-Server zum eigenen Rechner kopieren und umgekehrt.
Das nächste Beispiel ist fast analog (man kann sich überlegen, ob man für mehrere Skripte eine gemeinsame Konfigurationsdatei mit call "includet").
set puttyconnection=ssh01.example.com
set pscpoptions=-C -agent
set targetdir=d:\meine_weblogs\

mkdir "%targetdir%" 2>nul
echo INFO: Logs werden kopiert nach
echo %targetdir%
echo.

pscp %pscpoptions% "%puttyconnection%:/var/log/httpd/access.log.*.gz" "%targetdir%"

echo ===== fertig ... Taste zum beenden...
pause>nul

s.a. » pscp

Unterschiede Putty und OpenSSH: Page-Agent

Die zu Putty gehörende plink.exe funktioniert analog zum OpenSSH-Client. Es lassen sich SSH-Verbindungen aufbauen und als Shell oder aber Tunnel nutzen.

wesentliche Unterschiede zu OpenSSH:
  • Als Zielhost zu dem eine Verbindung aufgebaut wird, kann ein Hostname eines SSH-Servers sein oder ein Name aus der Liste der Verbindungen im Putty Client. Wenn es ein Name einer Putty-Verbindung ist, werden von Putty alle Konfigurationsangaben (Authentifizierung, zu übergebender Username, ...) übernommen.
  • Wenn eine SSH-Verbindung mit private und public Key Authentifizierung gemacht wird, dann brauchen diese Tools dieselben Keys, wie putty. Der private Key von OpenSSH funktioniert nicht mit den Putty Tools; man kann aber einen OpenSSH private Key zu einem Putty-kompatiblen private Key umwandeln.
  • OpenSSH erlaubt aus Sicherheitsgründen keine Übergabe des Passwortes (des Remote-Users oder private Keys) - mit Putty-Clients funktioniert dies hingegen (-l user -pw password)
Ich bevorzuge die public Key Authentifizierung. Wenn man in seinem Schlüsselpaar ein Passwort verwendet, dann bietet sich an, den putty Agent zu starten. Dieser fragt einmalig nach dem Passwort und übergibt dieses automatisch für alle Putty-clients, die für eine Verbindung den Key benötigen und mit dem Parameter -agent gestartet werden. Diese Passwort-Übergabe erfolgt solange, bis der Agent wieder beendet wird.

Es gibt aber Netzwerk-Geräte, wie z.B. Switches, auf die man sich mit SSH verbindet, aber zwingend ein Passwort verwenden muss. Hier ist ein -pw Parameter hilfreich, um Dinge zu automatisieren. Beispielsweise die Running Config lesen und lokal speichern. Legt man auf das lokale Verzeichnis noch ein Git-Repository, kann man Änderungen mittracken.
s.a. » pscp

Linkshttp://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter7.html#plink

Übersicht