WinSCP

Bei WinSCP handelt es sich um einen leistungsfähigen SCP-Client für Microsoft Windows mit einer grafischen Oberfläche, welcher die Antwort zu "scp" aus der Linux-/Unix-Welt darstellt. Neben SCP, SFTP und FTPS als verschlüsselte Übertragungsmöglichkeiten rundet die Unterstützung für das klassische FTP-Protokoll die Software ab.

Screenshot von WinSCPBei WinSCP (was für Windows Secure CoPy steht) handelt es sich um einen SFTP-, SCP-, FTP und FTPS-Client für Microsoft Windows. Die erste Version wurde Ende September 2000 von Martin Přikryl veröffentlicht, der damals an der Fakultät für Informatik und Statistik der Wirtschaftsuniversität Prag arbeitete. Martin Přikryl ist weiterhin der Hauptentwickler, auch wenn das Programm, welches ursprünglich nur SCP unterstützte, mittlerweile seit Version 3.0 zusätzlich SFTP unterstützt und seit Juli 2003 sein Zuhause auf dem Portal SourceForge hat. In diesem Zuge änderte sich auch die Software-Lizenz von WinSCP, welches bereits damals schon Open Source war, auf die GNU General Public License, Version 2 (oder neuer), kurz: GNU GPLv2+.

Inzwischen ist aus dem 1-Mann-Projekt eine kleine Community geworden, die WinSCP weiterentwickelt, pflegt und unterstützt, indem beispielsweise Übersetzungen vorgenommen werden oder Dokumentation geschrieben wird. Mit der Version 4 wurde die Unterstützung für FTP hinzugefügt, welches WinSCP zu einem relativ universell einsetzbaren Werkzeug für Datenübertragungen in heterogenen Netzwerken macht. Damit kann WinSCP problemlos andere, früher gängige und verbreitete, FTP-Clients wie LeechFTP ohne Einbußen ersetzen. Nach der Veröffentlichung der GNU General Public License, Version 3 wechselte schließlich auch die Lizenz von WinSCP auf die heutige, nämlich GNU GPLv3+. Die Unicode-Unterstützung gehört zu den größten Änderungen der zur Zeit aktuellen Version 5.

Die jeweils aktuellste Version von WinSCP kann von der Homepage bzw. im Download-Bereich auf SourceForge heruntergeladen werden. Die *.exe-Installationsdatei ist knapp 5 MB groß, die installierte Fassung bringt fast die doppelte Größe auf die Waage - nicht viel, wenn man es mit mancher weniger leistungsfähigen proprietären Software mit ähnlichem oder sogar geringerem Funktionsumfang vergleicht. Für Benutzer, die WinSCP nicht installieren, sondern ähnlich wie PortableApps auf einem USB-Speicherstick handhaben bzw. mit sich herumtragen möchten, gibt es auch die portable Variante, welche entpackt etwas mehr als 9 MB groß ist. Diese lässt sich ebenfalls von der Webseite als ZIP-Archiv herunterladen und muss lediglich entpackt werden. Ist jedoch die vollständige Portabilität von WinSCP gewünscht, so muss die WinSCP.ini-Konfigurationsdatei, welche beim ersten Start erzeugt wird, leicht angepasst werden.

Technisch ist WinSCP in der Programmiersprache C++ programmiert und wird üblicherweise mit dem C++Builder XE2 Professional von Embarcadero Technologies (vor dem Verkauf ein Produkt von Borland) kompiliert. Der Programmcode für die Verarbeitung von SFTP und SCP basiert auf PuTTY (einem freien SSH-, Telnet und Rlogin-Client für u.a. Microsoft Windows), die Verarbeitung von FTP basiert auf dem Quellcode von FileZilla (einem freien FTP-Client für u.a. Microsoft Windows) und Teile der freien Bibliothek OpenSSL werden für die optional verfügbare SSL-/TLS-Verschlüsselung bei FTP (also für FTPS bzw. FTPES) verwendet.

Nach dem Start bietet WinSCP, ähnlich wie PuTTY, einem Baum für Einstellungen auf der linken Seite. Auf der rechten Seite können die Verbindungsdaten für SFTP, SCP und FTP (einschließlich FTPS und FTPES) sowie Servername, Port, Benutzername und Kennwort angegeben werden. Die Sprache der Oberfläche kann, sofern die gewünschte Sprache installiert ist, über einen Button links unten geändert werden - alternativ kann im ausklappenden Sprachmenü auch der Punkt für den Download einer weiteren Sprache ausgewählt werden. In den Einstellungen können einerseits viele protokollspezifische Anpassungen (z.B. Benutzung einer bestimmten SSH-Version, Verhalten bei symbolischen Verknüpfungen, serverseitiger Zeichensatz) konfiguriert werden, andererseits lässt sich beispielsweise die Benutzung des Papierkorbs von Microsoft Windows ein- oder ausschalten, die Verwendung eines Proxy- bzw. SOCKS-Servers konfigurieren oder die Authentifizierung über einen SSH-Schlüssel einstellen.

Darüber hinaus werden IPv6 und das halb- oder vollautomatische Synchronisieren von Verzeichnissen unterstützt. Mit dem integrierten Texteditor können lokale oder entfernte Dateien bearbeitet werden. Ist ein komplexerer Editor bzw. das Bearbeiten von binären Dateien gewünscht, so lässt sich eine externe Anwendung konfigurieren. Wird eine Datei auf einem Server bearbeitet, so wird diese zuerst heruntergeladen und dann mit dem Editor geöffnet. Nach dem Speichern im Editor wird die Datei wieder auf den Server hinaufgeladen. Selbstverständlich können, wie bei PuTTY, Sitzungsdaten gespeichert werden, um später auf diese schneller wieder zugreifen zu können - manch andere Software bezeichnet dies als "Profile", "Lesezeichen" oder einfach als gespeicherte Verbindung. WinSCP erlaubt auch die Verwendung von Pageant, dem SSH-Agent von PuTTY, über welchen ein automatisierter Schlüsselaustausch für die sichere passwortlose SSH-Authentifikation realisierbar ist. Das Aussehen von WinSCP kann so eingestellt werden, dass es entweder dem des Windows Explorers oder des Norton Commanders entspricht, jedoch ist WinSCP kein Modul und kein Treiber für den Windows Explorer, sondern wirklich eine eigenständige Software.

Eine relativ unbekannte Funktionalität, die leider in den meisten Artikeln über WinSCP unterschlagen wird, ist das Kommandozeilen-Interface, welches sich für das Skripting in Batchdateien wie *.bat eignet. Hierfür gibt es zum einen den zusätzlichen Parameter /console für WinSCP.exe, welcher ein konsolenartiges Fenster öffnet, aber auch WinSCP.com, wobei es sich um ein simples Werkzeug handelt, das intern WinSCP.exe ausführt und nur das Kommandozeilen-Interface bereitstellt. Mit WinSCP.com ist die Ein- und Ausgabe-Umleitung möglich und der Returncode kann geprüft werden, da die Windows-Shell (z.B. cmd.exe oder ein Batchskript) wartet, bis WinSCP fertig ist. Wichtig ist, dass WinSCP.exe zwingend benötigt wird, um WinSCP.com nutzen zu können. Die Dokumentation erklärt sämtliche verfügbaren Parameter und bietet Beispiele für verschiedene gängige oder auch weniger häufiger genutzte Anwendungsfälle - einschließlich XML-Protokolldateien.