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.

pscp

Übersicht

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


Befehlpscp
NamePutty – Secure Copy
KurzbeschreibungKopieren via SSH
AutorSimon Tatham
Webseitehttps://www.chiark.greenend.org.uk/~sgtatham/putty/
LizenzFreeware
Syntax
PuTTY Secure Copy client
Development snapshot 2003-05-29
Usage: pscp [options] [user@]host:source target
       pscp [options] source [source...] [user@]host:target
       pscp [options] -ls user@host:filespec
Options:
  -p        preserve file attributes
  -q        quiet, don't show statistics
  -r        copy directories recursively
  -v        show verbose messages
  -load sessname  Load settings from saved session
  -P port   connect to specified port
  -l user   connect with specified username
  -pw passw login with specified password
  -1 -2     force use of particular SSH protocol version
  -C        enable compression
  -i key    private key file for authentication
  -batch    disable all interactive prompts
  -unsafe   allow server-side wildcards (DANGEROUS)
  
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. » plink

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. » plink

Linkshttp://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter5.html#pscp

Übersicht