Telnet: Ein Client-Server-Protokoll für plattformübergreifende Remote-Verbindungen

Mit dem ARPANET (Advanced Research Projects Agency Network) entwickelten das Massachusetts Institute of Technology (MIT) und das amerikanische Verteidigungsministerium im Jahr 1968 ein Computernetzwerk, das den Grundstein für das Internet legen sollte. Hintergrund war der Wunsch nach einem dezentralen Netzwerk, das Universitäten miteinander verbinden sollte, die für das US-Ministerium forschten. Neben revolutionären Konzepten wie der Datenpaketvermittlung entstand im Rahmen dieser Entwicklungsarbeit auch Telnet – ein Client-Server-Protokoll, das auf dem zeichenorientierten Datenaustausch über TCP-Verbindungen basiert.

Was ist Telnet?

Bereits 1969, im Rahmen der neunmonatigen Arbeiten am ARPANET, war die Entwicklung von Telnet (Teletype Network) im Grunde genommen abgeschlossen. Doch erst im Jahr 1973 erhielt das Protokoll, das den Zugriff auf entfernte Rechner ermöglicht, seine endgültige Spezifikation im RFC 495 (Request for Comments). Als offizieller Standard der Internet Engineering Task Force (IETF) wurde es von den meisten Plattformen implementiert. Kernprotokoll und die grundsätzlichen Arbeitsweisen und Erweiterungen sind in den aktuelleren Standards RFC 854 und RFC 855 beschrieben.

Telnet erlaubt die Fernsteuerung von Computern via textbasierten Eingaben und Ausgaben. Zu diesem Zweck wird standardmäßig über das Protokoll TCP und den Port 23 eine Client-Server-Verbindung hergestellt, wobei das ferngesteuerte Gerät als Server fungiert und auf Befehle wartet. Der Telnet-Client – die steuernde Instanz bei diesem Verfahren, das auch als Remote-Zugriff bzw. -Login bezeichnet wird – kann sowohl auf einem speziellen Gerät als auch auf einem gewöhnlichen Computer installiert sein. Je nach Endgerät unterscheidet sich jedoch die Darstellung der übertragenen Dateninformationen.

Das Protokoll der Internetprotokollfamilie kann außerdem auch dafür verwendet werden, Anwendungen zu steuern, die über keinerlei grafische Oberfläche verfügen.

Wo und wie kommt Telnet zum Einsatz?

Die Hauptgründe für die Entwicklung des Remote-Protokolls waren unter anderem, dass Computersysteme zum damaligen Zeitpunkt einerseits noch sehr teuer – und somit nicht so einfach für jeden zugänglich – und andererseits aufgrund ihrer extremen Größe auch an bestimmte Orte gebunden waren. Um die Ressourcen der Rechner an Universitäten und in Unternehmen für alle Befugten verfügbar zu machen, war das ebenfalls Ende der 1960er-Jahre entwickelte Unix das passende Betriebssystem und Telnet der passende Protokolldienst. Auf diese Weise konnte plötzlich jeder Nutzer, der über die entsprechende Autorisierung verfügte, Anwendungen auf den leistungsstarken Großrechnern starten, verwalten und so für die eigenen Zwecke nutzen.

Zugriff auf Datenbanken

Für Einrichtungen, die mit großen Datenbanken arbeiten, spielte Telnet ebenfalls über viele Jahre hinweg eine entscheidende Rolle: In Bibliotheken war das Protokoll beispielsweise elementarer Baustein der in den 1980er-Jahren aufkommenden, öffentlich verfügbaren Onlinekataloge, die besser unter der englischsprachigen Abkürzung OPAC (Online Public Access Catalogue) bekannt sind. Zunächst waren diese digitalen Publikations-Datenbanken, die die Nachfolge der traditionellen Zettelkataloge antraten, noch in den lokalen Netzwerken der Bibliotheken über Terminals abrufbar. Als sich das Internet mehr und mehr als Erfolg herausstellte, etablierte sich auch die Zugriffsmöglichkeit über lokal nutzbare Web-Interfaces, deren Kommunikation sich in vielen Fällen auf das Telnet-Protokoll stützte.

Interaktion mit Programmen auf Applikationsservern

Ein weiteres Einsatzszenario, für das Telnet-Clients typisch waren, war der Zugriff auf textbasierte Programme auf einem Applikationsserver. So ist beispielsweise der Free Internet Chess Server auch heute noch über Telnet-Verbindungen nutzbar. Per Texteingabe kann man aus den verfügbaren Gegnern wählen und auch seine Züge machen. Mittlerweile haben grafische Schnittstellen wie das Jin Applet oder Javaboard, die ein Ausführen der Spielzüge via Maus ermöglichen, die textbasierte Informationseingabe allerdings abgelöst.

Administration von Netzwerken und Servern

Für Netzwerk- und Serveradministratoren ist Telnet seit jeher ein praktisches Protokoll. Die Möglichkeit der Remote-Verwaltung von Geräten im Netzwerk ist für Administrationsaufgaben insbesondere deshalb geeignet, weil das Protokoll von nahezu allen Geräten unterstützt wird. Zudem kann es auch dazu verwendet werden, die Verfügbarkeit bestimmter Ports zu überprüfen oder Fehler auf E-Mail-Servern (SMTP, Port 25) festzustellen, indem man direkt vom Server eine Mail versendet. Auch zur Konfiguration von Servern, beispielsweise einem Webserver, ist die Telnet-Lösung ein probates Mittel: Änderungen an der Verzeichnisstruktur, an den Dateirechten oder des Passworts sind so schnell und einfach in die Tat umgesetzt.

Die Telnet-Standardbefehle

Es gibt einige generell gültige Befehle für das Verbindungsprotokoll, die auf den telnet-unterstützenden Plattformen wie Unix, Windows oder Linux, die einen entsprechenden Client standardmäßig implementiert haben, in der Regel gleich bzw. ähnlich lauten. Mithilfe des Befehls

telnet hostname

starten Sie beispielsweise den Verbindungsaufbau, der nach anschließender Eingabe von Benutzername und -passwort abgeschlossen wird. Voraussetzung für die Nutzung von Telnet ist also auch, dass das angesteuerte Gerät über eine Benutzererkennung verfügt. Der Eintrag hostname repräsentiert den jeweiligen Gerätenamen im Netzwerk, wobei Sie auch die passende IP-Adresse angeben und Ihr Verbindungsgesuch durch den angestrebten Port präzisieren können:

telnet ip-adresse portnummer

Die folgende tabellarische Übersicht zeigt die weiteren Standard-Kommandos, die Sie teilweise mit Argumenten erweitern und mithilfe des Telnet-Clients ausführen können:

Befehl Beschreibung
? ruft das Hilfsmenü auf
close beendet die aktuelle Telnet-Sitzung
display argument zeigt die verschiedenen Parameter für die aktuelle Verbindung an (Port, Terminaltyp etc.)
environ argument definiert die Variablen für die jeweilige Betriebssystemumgebung
logout beendet ebenfalls die aktuelle Telnet-Sitzung, insofern der Remote-Host die Logout-Option unterstützt
mode type legt die Übertragungsart fest (Textdatei, Binärdatei)
open hostname baut neben der bestehenden eine weitere Verbindung zu dem gewählten Host auf
quit beendet den Telnet-Client inklusive aller aktiven Verbindungen
send argument verschickt ausgewählte, typische Telnet-Zeichenfolgen an den Host
set argument verändert die Verbindungsparameter
unset lädt die vordefinierten Verbindungsparameter

Die Vor- und Nachteile des Telnet-Protokolls

Da es sich bei Telnet-Verbindungen um nahezu standardkonforme TCP-Verbindungen handelt, können Sie den Client auch dazu verwenden, andere Dienste zu nutzen oder zu testen, die auf TCP als Transportprotokoll zurückgreifen. So überprüfen Sie mit einer einfachen Anfrage beispielsweise die Funktionalität eines HTTP-Servers oder – wie bereits erwähnt – den Status eines Mailservers. Diese Vielseitigkeit wird dadurch verstärkt, dass das Verbindungsprotokoll plattformübergreifend zum Einsatz kommen kann. Es gibt nur wenige Geräte, die den offiziellen IETF-Standard nicht unterstützen. Ob Client- und Server-Rechner sich auf das gleiche Betriebssystem stützen, spielt dabei ebenfalls keine Rolle. Ein weiterer Vorteil von Telnet ist, dass es den uneingeschränkten Zugriff auf die Ressourcen des angesteuerten Systems ermöglicht, sofern die notwendigen Berechtigungen vorhanden sind.

Letztgenannter Punkt birgt jedoch in Kombination mit einem bisher unerwähnt gebliebenen Nachteil ein hohes Sicherheitsrisiko: Sowohl der Verbindungsaufbau als auch die Datenübertragung sind bei der Verwendung des Telnet-Protokolls nicht verschlüsselt. Alle versendeten Informationen können also von Dritten im Klartext abgefangen werden, auch die für den Remote-Zugriff notwendigen Anmeldeinformationen. In der Folge hat ein Angreifer bei der vollständigen Übernahme des jeweiligen Systems leichtes Spiel.

Die Vorteile und Nachteile im tabellarischen Überblick:

Vorteile Nachteile
Telnet-Client vielseitig einsetzbar unverschlüsselter Datenaustausch
plattformübergreifend Vollzugriff gewährt Hackern großen Spielraum
uneingeschränkter Zugriff auf Zielressourcen nur noch wenige Server per Telnet erreichbar

So aktivieren und nutzen Sie Telnet auf Ihrem System

Es ist bereits zur Sprache gekommen, dass einfache Telnet-Clients auf vielen gängigen, netzwerkfähigen Betriebssystemen standardmäßig installiert und nutzbar sind. Um die jeweilige Anwendung zu starten, sind jedoch teils unterschiedliche Schritte von Nöten. So muss der Client auf Microsoft-Betriebssystemen zum Beispiel seit Windows Vista zunächst aktiviert werden. In den folgenden Abschnitten haben wir einige Schritt-für-Schritt-Anleitungen für die wichtigsten Systeme zusammengefasst.

Telnet unter Windows 7 freischalten

Wenn Sie Windows 7 nutzen und über die Eingabeaufforderung versuchen, eine Verbindung zu einem Telnet-Server herzustellen, erhalten Sie mit großer Wahrscheinlichkeit die Fehlermeldung „Der Befehl ‚telnet‘ ist entweder falsch geschrieben oder konnte nicht gefunden werden.“. Der Grund für diese Benachrichtigung ist, dass der Dienst standardmäßig deaktiviert ist. Die notwendige Aktivierung ist jedoch in wenigen Schritten erledigt:

  • Öffnen Sie über das Startmenü die Systemsteuerung und klicken dort auf „Programme“ bzw. „Programme und Funktionen“ insofern Sie die klassische Anzeigevariante nutzen. Im geöffneten Fenster wählen Sie die Option „Windows-Funktionen aktivieren oder deaktivieren“.
  • Nach einem kurzen Ladevorgang öffnet sich die Liste der verfügbaren Windows-Dienste. Suchen Sie nach dem Punkt „Telnet-Client“, aktivieren diesen per Häkchen und bestätigen die getroffene Auswahl durch einen Klick auf „OK“.
  • Der Client wird nun aktiviert, was einige Momente in Anspruch nehmen kann.
  • Nun können Sie eine Verbindung zum Telnet-Server Ihrer Wahl aufbauen. Öffnen Sie hierfür zunächst die Eingabeaufforderung und geben den Befehl „telnet“ ein, um den Client zu starten. Alternativ können Sie diesen auch über das Suchfeld „Programme/Dateien durchsuchen“ finden. Im Anschluss starten Sie den Verbindungsaufbau auf die gewünschte Weise, zum Beispiel, indem Sie die IP-Adresse des Zielgeräts angeben wie in dem folgenden Beispiel-Screenshot.

Telnet unter Windows 8 aktivieren

Auch unter Windows 8 ist Telnet standardmäßig deaktiviert. Versuche, den Client aufzurufen oder eine Verbindung aufzubauen, scheitern dementsprechend mit der gleichen Fehlermeldung, die auch Benutzer von Windows 7 erhalten: „Der Befehl ‚telnet‘ ist entweder falsch geschrieben oder konnte nicht gefunden werden.“ Auch bei der Freischaltung des Remote-Dienstes unterscheidet sich die Vorgehensweise im Wesentlichen nicht.

  • Rufen Sie im Startmenü die Systemsteuerung auf, wählen je nach Ansichtsvariante die Schaltfläche „Programme“ oder „Programme und Funktionen“ aus und klicken auf „Windows-Features aktivieren oder deaktivieren“.
  • In der sich öffnenden Feature-Übersicht suchen Sie nach dem Telnet-Client-Eintrag und setzen das Häkchen in der entsprechenden Checkbox.
  • Nach Bestätigung auf „OK“ beginnt der Aktivierungsprozess. Ist dieser abgeschlossen, informiert Sie das System mit einer entsprechenden Erfolgsmeldung.
  • Damit ist der Client aktiviert und über das Suchfeld oder die Eingabeaufforderung mithilfe der bereits aufgeführten Kommandos abruf- und bedienbar.[

Telnet unter Windows 10 einrichten

Wie seine Vorgängerversionen hat auch Windows 10 das Remote-Programm standardmäßig im Repertoire, aber deaktiviert. Die Einrichtung und Bedienung des Clients funktionieren ebenfalls nach dem bewährten Muster.

  • Im ersten Schritt öffnen Sie die Übersicht über installierte Programme und Features. Hierfür rufen Sie die Systemsteuerung über das Startmenü auf oder verwenden die Tastaturkombination [Windows-Taste] + [X]. Wählen Sie anschließend die Schaltfläche „Programme und Features“.

Wählen Sie „Windows Features aktivieren oder deaktivieren“ aus und schalten den Telnet-Client an, indem Sie ein Häkchen im entsprechenden Kästchen setzen und Ihre Auswahl durch einen Klick auf „OK“ bestätigen.

  • Nach einem kurzen Ladeprozess erhalten Sie die Meldung, dass Telnet erfolgreich aktiviert wurde und zur Nutzung bereitsteht.
  • Starten Sie den Client anschließend wie bei den aufgeführten Vorgängerversionen über die Eingabeaufforderung oder über das Suchfeld.

Telnet auf macOS nutzen

Auch als macOS-Nutzer können Sie auf die Dienste des Telnet-Clients zurückgreifen, um ausgewählte Computersysteme aus der Ferne zu steuern. Anders als bei den Systemen von Microsoft ist der Dienst standardmäßig aktiviert, sodass Sie gleich mit der Nutzung starten können. Zu diesem Zweck benötigen Sie lediglich die Terminal-Applikation – das Kommandozeilen-Tool des Apple-Systems.

  • Um die Terminal-Anwendung zu öffnen, öffnen Sie zunächst den Finder und wählen in der linken Menüleiste den Eintrag „Programme“ bzw. „Applications“ aus. Im Ordner „Dienstprogramme“ („Utilities“) finden Sie schließlich die Terminal-Verknüpfung, mit deren Hilfe sich die Kommandozeile per Doppelklick öffnen lässt.
  • Nun können Sie durch die Eingabe des Befehls „telnet“ in Kombination mit der jeweiligen Host-Adresse die gewünschte Remote-Verbindung herstellen. Alternativ können Sie eine Verbindung auch über den Punkt „Shell“ in der oberen Menüleiste aufbauen. Wählen Sie dazu in dem Drop-Down-Menü die Schaltfläche „Neue Remote-Verbindung …“ und anschließend Telnet als gewünschten Dienst aus.

Fazit

In Sachen Remote-Verbindungen war das Telnet-Protokoll über einen langen Zeitraum hinweg ein erstklassiges Werkzeug, dessen Nutzung gleichermaßen praktisch wie einfach war und bis heute geblieben ist. Die wachsenden Ansprüche an den Sicherheitsgrad verwalteter und übertragender Daten haben das Protokoll jedoch für viele Szenarien unbrauchbar bzw. untragbar gemacht. Remote-Verbindungen im Internet laufen aus diesem Grund heute überwiegend auf Basis des – dank seiner Public-Key-Authentifizierung – verschlüsselnden und wesentlich sichereren SSH-Protokolls (Secure Shell). Für Geräte mit eingeschränktem Betriebssystem, die den Betrieb eines SSH-Servers nicht ermöglichen, stellt Telnet aber auch weiterhin eine geeignete Lösung dar. Eine gern genutzte Client-Software, die den Fernzugriff auf Basis beider Protokolle vereinfacht, ist PuTTy.