SSH-Tools für Windows

© Oleg Romanciuk, 123RF

Sichere Verbindung

SSH gehört für Linux-Admins zu den wichtigsten Werkzeugen der Fern-Administration. Das funktioniert auch unter Windows: Mit Tools wie Putty oder WinSSH, MobaXterm, WinSCP oder Swish.
Mit Hardware-Beschleunigung und schnellem Netz hilft Desktop-Virtualisierung, Administrationsaufwand und Kosten sparen, ADMIN 04/2013 verrät, wie die ... (mehr)

Dieser Beitrag stellt fortgeschrittene SSH-Funktionen und auf SSH aufbauende Tools für den Windows-Einsatz vor. Er stellt nicht in Frage, dass sich sowohl unter Linux (vsftp, proftp) als auch unter Windows (IIS) mit Bordmitteln sichere FTP-Server betreiben lassen und dass es zahllose, (auch) sichere und leistungsfähige FTP-Clients gibt. Der Charme beim Einsatz von SSH besteht aber vor allem darin, Remote Logins, File-Transfers, Port-Forwarding, VPN und andere Funktionen ad hoc ohne aufwändige Vorbereitungsmaßnahmen einsetzen zu können. Bei SSH muss lediglich auf dem (Linux-)Server der SSH-Daemon »sshd« laufen.

SSH bietet ein Maximum an Sicherheit dank dieser drei Eigenschaften:

  • Verschlüsselung der Datenübertragung samt Anmelde-Informationen,
  • Schutz vor Manipulation der Übertragung (Datenintegrität),
  • Authentifizierung der Gegenstelle.

So arbeitet SSH immer mit einer Verschlüsselung der Übertragung, ist durch die standardmäßig verwendeten Host-Keys in der Lage, die Integrität der Verbindung bezieungsweise der Hosts zu gewährleisten und unterstützt das Authentifizieren der Gegenstelle. Zwar arbeitet SSH per Default "nur" mit Benutzernamen und Passwörtern, unterstützt aber optional auch asymmetrische DSA- und RSA-Schlüsselpaare.

SSH-Basics

Die freie Linux-SSH-Version OpenSSH ist eine Abspaltung vom klassischen SSH aus dem Jahr 1999. Der beliebte Windows-SSH-Client Putty ist eine ebenfalls freie, vom Briten Simon Tatham entwickelte SSH-Implementation. Sie unterliegt der MIT-Lizenz und ist aktuell in der Version 0.62 aus dem Jahr 2011 verfügbar. Alle SSH-Versionen sind weitgehend kompatibel.

Der Begriff Secure Shell steht im Sprachgebrauch für ein ganzes Bündel an Fernzugriffswerkzeugen. Die gesamte SSH-Suite enthält im einzelnen die Werkzeuge »ssh« (ersetzt »rsh« , »rlogin« und »telnet« ), »scp« (ersetzt »rcp« ), »sftp« (ersetzt »ftp« ), »sshd« (den SSH-Server-Daemon) und die Tools »ssh-keygen« (generiert asymmetrische Public-Keys zur Authentifizierung beziehungsweise verwaltet oder konvertiert sie), »ssh-keyscan« (sucht nach vorhandenen SSH-Public-Keys), »ssh-agent« (hält den privaten Schlüssel bis zum Logout des Nutzers im Arbeitsspeicher) und »ssh-add« (lädt einen privaten Schlüssel in den »ssh-agent« ).

Die Putty-Suite [1] bietet die gleiche Vielfalt an Werkzeugen. Dazu muss der Admin aber das komplette Zip-Archiv mit sämtlichen Putty-SSH-Tools herunterladen und nicht nur den ebenfalls angebotenen Exe-Installer ausführen, der lediglich den Putty-SSH-Client herunterlädt und installiert. Allerdings heißen die jeweiligen Tools bei Putty geringfügig anders, etwa »puttygen« oder »psftp« . Neben dem populären Putty stehen dem Windows-Admin noch weitere Möglichkeiten zur Verfügung, SSH unter Windows einzusetzen, etwa mit Hilfe des in [2] vorgestellten, auf Cygwin basierenden Windows-X-Servers MobaXterm [3] oder durch das direkte Verwenden des API-Kompatibilitäts-Layers Cygwin [4] .

SSH aktivieren

Das Aufsetzen des SSH-Servers auf Linux-Seite – der SSH-Client ist in der Regel standardmäßig installiert – ist nicht Thema dieses Beitrages, lässt sich aber durch Installieren der Pakete »openssh-server« (RHEL, Fedora) oder »openssh« (das Suse-Paket enthält Server und Client) mit dem bevorzugten Paket-Tool schnell erledigen. Zum Aktivieren des Dienstes ist dann der »sshd« -Daemon zu starten und gegebenenfalls permanent in die Systemstart-Konfiguration aufzunehmen. Das gelingt je nach Distribution wahlweise mit »/etc/init.d/sshd start« (Sys-V), »service sshd start« (Upstart) oder »systemctl start sshd.service« . Außerdem ist der Dienst – falls nötig – permanent in die Systemstart-Konfiguration aufzunehmen. Das geht zum Beispiel bei Systemd (Open Suse, Fedora) mit »systemctl enable sshd.service« beziehungsweise mit »chkconfig sshd on« (RHEL/Sys-V-Init). Bei Fedora und Red Hat muss man noch eine standardmäßig aktive Firewall mit »systemctl stop iptables.service« anhalten oder eine Regel für Port 22 (SSH) erstellen.

An der zentralen Konfigurationsdatei – in der Regel »/etc/ssh/sshd_config« – braucht der Admin mit einer Ausnahme normalerweise keine Anpassungen vorzunehmen. Die Ausnahme besteht darin, dass viele OpenSSH-Implementationen per Defaut den Root-Access unterbinden, was sich durch Entfernen des Kommentars vor der Zeile

# PermitRootLogin yes

verhindern lässt.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023