Mobile-Menu

Definition Was ist PuTTY?

PuTTY ist eine Software für textbasierte Terminalsitzungen. Mit der Software lassen sich Remote-Verbindungen per Telnet, Secure Shell, Remote Login und anderer Protokolle zu einer für diese Protokolle als Server agierenden Gegenstelle herstellen und Befehle über die Kommandozeilenoberfläche absetzen. Die Terminal-Emulatorsoftware agiert als Client und ist auf Rechnern mit Betriebssystemen wie Windows, Linux und macOS einsetzbar.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - stock.adobe.com)

PuTTY ist der Name einer erstmals im Jahr 1998 erschienenen Terminal-Emulatorsoftware. Sie wurde vom britischen Programmierer Simon Tatham entwickelt und ist noch heute eines der beliebtesten Tools, wenn es um textbasierte Terminalsitzungen über Netzwerkverbindungen geht. Vor allem für verschlüsselte SSH-Sitzungen ist die Software in vielen IT-Umgebungen das Standard-Tool.

Die Software steht unter MIT-Lizenz und ist im Netz frei verfügbar. Sie unterstützt zahlreiche verschiedene Verbindungsmethoden und Protokolle wie Telnet, Remote Login oder Secure Shell. Serielle Schnittstellen lassen sich ebenfalls für Terminalsitzungen nutzen. Ursprüngliche für das Betriebssystem Windows geschrieben, ist PuTTY heute auch mit anderen Betriebssystemen wie Linux oder macOS kompatibel. Darüber hinaus existieren viele der Software sehr ähnliche Implementierungen, unter anderem für mobile Betriebssysteme wie Android oder iOS.

PuTTY agiert als Client und erlaubt die Kommunikation mit einem Server und das Absetzen kommandozeilenbasierter Befehle. Die Ausgaben des Servers werden auf dem Client textbasiert dargestellt. Anwender arbeiten mit dem Client, als wären sie direkt per Konsole mit dem zu steuernden Rechner verbunden. Verbindungen sind in IP-Netzen sowohl mit IPv4 als auch mit IPv6 möglich. Die offizielle Webseite der Software ist www.chiark.greenend.org.uk/~sgtatham/putty/. Installierbare Softwarepakete enthalten neben der eigentlichen Terminal-Emulatorsoftware weitere Programme und Tools wie pscp.exe und psftp.exe (SCP, Secure File Copy Client und SFTP, Secure File Transfer Client), pageant.exe (SSH Authentication Agent) oder puttygen.exe (RSA und DSA Schlüsselgenerator-Tool). Die aktuelle Version (Stable Release) der in C geschriebenen Software ist die Version 0.74 (Stand Juni 2020).

Die verschiedenen Komponenten und Tools des PuTTY-Softwarepakets

Wer das .msi-Paket der Software für Windows oder das Software-Paket für Linux herunterlädt und installiert, erhält nicht nur die Terminal-Emulatorsoftware, sondern auch einige weitere Software-Komponenten und praktische Tools. Die enthaltenen Komponenten und Tools sind:

  • PuTTY: Terminal-Emulatorsoftware-Client für Verbindungen per Telnet, Rlogin, Secure Shell oder über die serielle Schnittstelle
  • PSCP: Client für Secure File Copy
  • PSFTP: Client für Secure File Transfer
  • PuTTYtel: Client ausschließlich für Telnet-Verbindungen
  • Plink: kommandozeilenbasiertes Interface beispielsweise für SSH-Tunneling
  • Pageant: Agent für die SSH-Authentifizierung
  • PuTTYgen: Schlüsselgenerator für verschiedene Schlüsseltypen wie RSA, DSA, ECDSA und andere

Die unterstützten Verbindungsmethoden und Protokolle

PuTTY unterstützt zahlreiche verschiedene Verbindungsmethoden und Protokolle. Darunter sind sowohl Methoden für Klartext-Verbindungen als auch für verschlüsselte Verbindungen. Typische unverschlüsselte Verbindungsprotokolle sind Telnet und Rlogin (Remote Login). Für verschlüsselte Verbindungen kommt in der Regel SSH (Secure Shell) zum Einsatz. Alle drei Verbindungsmethoden lassen sich für Terminalsitzungen auf entfernten Multi-User-Maschinen beispielsweise zu einem per IP-Netz verbundenen Linux-Server verwenden.

Der Anwender meldet sich über den Client an, setzt Befehle auf dem entfernten Rechner ab und bekommt die Ausgaben im Client-Fenster angezeigt. Die Terminalsitzung verhält sich aus Anwendersicht, als säße der Anwender an einer direkt mit dem Remote-Rechner verbundenen Konsole. Per serieller Schnittstelle lässt sich mit der Software auch eine direkt verkabelte Verbindung mit einem Rechner herstellen. Die sichere Übertragung von Dateien zwischen dem Client-Rechner und dem Remote-Rechner ist per PuTTY ebenfalls möglich. Hierfür unterstützt die Software verschlüsselte Dateitransferprotokolle wie SCP und SFTP (Secure Copy Protocol und Secure File Transfer Protocol).

Terminalsitzungen über die Secure Shell – sicherer Zugriff auf Systeme mit verschlüsselten Verbindungen

Soll per PuTTY über unsichere Netzwerke wie das Internet sicher auf Remote-Rechner zugegriffen werden, ist der Einsatz verschlüsselter Terminalsitzungen per SSH zu empfehlen. Im Gegensatz zu Telnet oder Remote Login werden die übertragenen Informationen wie Benutzerkennungen, Passwörter oder Befehle dann nicht im Klartext, sondern verschlüsselt über die Netzwerkverbindung ausgetauscht.

Ausgeschrieben bedeutet SSH Secure Shell. Es handelt sich um ein vom Finnen Tatu Ylönen bereits im Jahr 1995 entwickeltes Netzwerkprotokoll für den sicheren Remote-Zugriff auf Rechner in einem IP-basierten Netzwerk. Das Protokoll bietet neben der Verschlüsselung der übertragenen Daten auch die benötigten Funktionen für die gegenseitige Authentifizierung per Schlüssel oder Zertifikate.

Standardmäßig verwendet Secure Shell den TCP- und UDP-Port 22. SSH arbeitet im ISO/OSI-Schichtenmodell auf den Schichten fünf bis sieben. Definiert sind Secure Shell und die weiteren Unterprotokolle in den RFCs 4251 (Secure Shell), 4252 (Authentication Protocol), 4253 (Transport Layer Protocol) und 4254 (Connection Protocol).

Wird eine Verbindung mit PuTTY per SSH aufgebaut, kontaktierte der Client den Remote-Rechner zunächst über den Port 22. Client und Server tauschen sich anschließend über die unterstützten Protokollversionen und Authentifizierungsverfahren aus. Nach erfolgreicher Authentifizierung beispielsweise über ein Schlüsselpaar bestehend aus öffentlichem und privatem Schlüssel werden sämtliche Daten der Terminalsitzung mit einem Session-Key verschlüsselt ausgetauscht.

Schlüsselgenerierung mit PuTTYgen

Das beispielsweise im .msi-Paket der Windows-Software enthaltene Tool PuTTYgen lässt sich einsetzen, um die für die Authentifizierung benötigten Schlüsselpaare zu generieren. Es bietet auf Windows-Rechnern eine graphische Benutzeroberfläche und erzeugt Schlüsselpaare, die für sichere Terminalsitzungen per SSH und für die weiteren Tools wie PSCP, Plink oder Pageant verwendbar sind. Die verschiedenen von SSH unterstützten Schlüsseltypen sind RSA-, DSA-, ECDSA- und Ed25519-Schlüssel. Beim Erzeugen der Keys ist die gewünschte Länge der Schlüssel und damit die Schlüsselstärke wählbar. Die mit PuTTYgen generierten privaten und öffentlichen Schlüssel lassen sich anschließend in den Client kopieren und auf den Server laden.

Die Vorteile der Software

Die Software PuTTY wird in vielen IT-Umgebungen als Standard-Tool für Remote-Terminalsitzungen verwendet und bietet zahlreiche Vorteile. Vorteile der Software sind beispielsweise:

  • frei verfügbare Software
  • für verschiedene Betriebssysteme wie Windows, Linux oder macOS verfügbar
  • Unterstützung verschiedener Verbindungsmethoden wie Telnet, SSH oder Remote Login
  • auch für die serielle Schnittstelle geeignet
  • verschlüsselte SSH-Sitzungen mit sicherer Authentifizierung
  • Unterstützung verschiedener Schlüsseltypen für SSH-Sitzungen wie RSA-, DSA-, ECDSA- und Ed25519-Schlüssel
  • zahlreiche weitere praktische Tools im Software-Paket enthalten
  • Generieren von Schlüsselpaaren für SSH direkt per PuTTYgen
  • auch die sichere Übertragung von Dateien per SCP und SFTP wird unterstützt
  • SSH-Tunneling möglich

(ID:47101906)

Über den Autor