SSH bequem

Aus LinuxUser 12/2006

SSH bequem

Schlüsselmeister

Sämtliche SSH-Transaktionen kann man auch über die Konsole ausführen: Aber wer will die langen Kommandos schon von Hand eingeben? Hier hilft Secpanel.

Über SSH tauschen Sie sicher via Internet Daten mit anderen Rechnern aus. Secpanel [1] befreit Sie dabei von der Tipparbeit: Das grafische Frontend kümmert sich um alle gängigen SSH-Dienste.

Zwar erleichtern auch Konqueror und Nautilus den Umgang mit SSH, allerdings nur für den Transfer von Dateien. Verzichten Sie auf dagegen auf Gnome und KDE, um einen schlanken Fenstermanager wie XFCE oder Fluxbox zu nutzen, sind Sie auf die Konsole angewiesen. Wollen Sie Dienste tunneln und auf die entfernte GUI zugreifen, so müssen Sie auch unter KDE und Gnome lange SSH-Befehlsketten eintippen.

Mit Secpanel dagegen richten Sie für häufig genutzte SSH-Verbindungen einfach je ein Profil pro Verbindung ein. Auf diese Weise erledigen Sie sämtliche SSH-Manöver per Mausklick.

SSH für Eilige

Die Abkürzung SSH steht für Secure Shell. SSH ist Netzwerkprotokoll und Software in einem: Die Software spaltet sich in Client und Server, die über TCP/IP Daten austauschen. Der Server bietet SSH als Dienst an, muss also auf dem entfernten Rechner laufen und lauscht dort auf eingehende Anfragen. Mit dem Client melden Sie sich beim Server an. Diese Verhandlungen verfolgen Sie detailliert, indem Sie SSH mit der Option -vvv aufrufen, was nebenbei die Fehlersuche erleichtert.

Der Server weist sich über ein RSA-Zertifikat aus, das ihn eindeutig identifiziert (Fingerprint). Stimmt der errechnete Fingerprint mit dem offiziell für den Server ausgewiesenen überein, schreibt der Client seine Daten in die Datei .ssh/known_hosts. Im nächsten Schritt gleicht er seinen privaten mit dem öffentlichen Schlüssel des Servers ab. Alternativ zum Schlüssel übermitteln Sie das korrekte Passwort, um sich beim entfernten Benutzerkonto anzumelden – eine Kombination aus beidem funktioniert auch.

Nach erfolgreichen Verhandlungen vereinbaren Client und Server eine Verschlüsselung für die weitere Kommunikation. Die Empfehlung für SSH 2 lautet AES (Advanced Encryption Standard) mit einer Schlüssellänge von 128 Bit, wahlweise auch 3DES, Blowfish und Arcfour. Ausführliche Informationen zu SSH finden Sie in zwei Artikeln zu SSH [2] und OpenSSH [3].

TIPP

Um sich erfolgreich bei einem entfernten SSH-Server anzumelden, darf dort keine Firewall laufen, die SSH-Pakete blockiert.

Secpanel installieren

Suse 10.0 und 10.1 installieren SSH gewöhnlich automatisch, kopieren Sie hier das Secpanel-RPM von der Heft-CD in ein Verzeichnis. Bevor Sie es einspielen, richten Sie über Yast die Pakete tcl und tkein: Die GUI von Secpanel braucht beide Komponenten. Dann wechseln Sie in das Verzeichnis mit dem RPM-Paket und geben – mit Root-Rechten – rpm -Uhv secpanel-0.5.1-1.noarch.rpm ein. Anschließend tippen Sie als normaler Nutzer einfach secpanel in die Konsole.

(K)Ubuntu-Nutzer verwenden ebenfalls das Paket von der Heft-CD, installieren vorher aber noch den SSH-Server über das Kommando sudo apt-get install openssh-server. Die Pakete tcl und tk bringt Kubuntu schon mit, also wechseln Sie in das Verzeichnis mit dem Debian-Paket und geben dort sudo dpkg -i secpanel_0.5.1-2_all.deb ein. Im Universe-Repository von Ubuntu steht lediglich eine ältere Version von Secpanel bereit.

Gut bedient

Nach dem Start sucht die SSH-GUI nach installierten SSH-Tools. Über einen Mausklick auf das Zahnrad-Icon erreichen Sie einen Reiter, der die Pfade zu den Tools verwaltet (Abbildung 1). Welche von ihnen Sie brauchen, hängt davon ab, was Sie mit Secpanel vorhaben.

Das Werkzeug ssh-keygen benötigen Sie nur, um neue Schlüssel zu erzeugen [2]. Ohne die Programme scp und ssh funktionieren hingegen einige Grundfunktionen nicht. Bei Bedarf installieren Sie weitere SSH-Tools wie scanssh nach, über Save sichern Sie die Konfiguration.

Abbildung 1: Die SSH-Tools erleichtern den Umgang mit Schlüsseln. Mit <code srcset=

ssh-keygen generieren Sie Schlüsselpaare, mit scp kopieren Sie Dateien zwischen zwei Rechnern.” width=”222″ height=”300″ /> Abbildung 1: Die SSH-Tools erleichtern den Umgang mit Schlüsseln. Mit ssh-keygen generieren Sie Schlüsselpaare, mit scp kopieren Sie Dateien zwischen zwei Rechnern.

Profilneurose

Nun bauen Sie eine erste Verbindung zu einem entfernten Server auf. Dazu klicken Sie auf das Icon ganz links und dann auf New. Das bringt Sie automatisch zum Profilmanager (Abbildung 2) von Secpanel, über den Sie zunächst ein SSH-Profil anlegen.

Geben Sie dazu als Profile Name etwa Testprofil ein und wenden Sie sich dann der rechten Spalte zu. Hier bestimmen Sie zunächst den Namen der Verbindung. Im Beispiel heißen Sie Herr Müller und wollen auf den Rechner Ihrer Kollegin Frau Schneider zugreifen, also passt als Profilname SSH_Schneider ganz gut.

Abbildung 2: Über den Profilmanager von Secpanel behalten Sie Ihre sicheren Verbindungen im Auge und versehen sie mit individuellen Parametern.

Abbildung 2: Über den Profilmanager von Secpanel behalten Sie Ihre sicheren Verbindungen im Auge und versehen sie mit individuellen Parametern.

Der Rechner von Frau Schneider hört auf den Namen “Wilfried”: Schreiben Sie in die Zeile Hostwilfried. Alternativ tragen Sie dort die IP-Adresse des Rechners ein – zum Beispiel 192.168.1.23 – die Sie von Frau Schneider erfragen. Da sich die Kollegin auf dem Rechner mit dem Login-Namen schneider anmeldet, geben Sie unter Userschneider an. Den Port22 lassen Sie stehen: Es handelt sich um den Standard-Port von SSH. Ein Klick auf Save im Feld oben links speichert das neue Profil mit Ihren Angaben.

TIPP

Versuchen Sie, sich zunächst über die Kommandozeile mit einem entfernten Server zu verbinden. Im Beispiel lautet der entsprechende Aufruf ssh schneider@wilfried respektive ssh schneider@192.168.1.23. Erst wenn das klappt, konfigurieren Sie in Secpanel ein Profil dazu.

Wechseln Sie in den Reiter zurück, der die Profile auflistet (Abbildung 3). Klicken Sie auf Connect, um sich beim entfernten SSH-Server anzumelden. Es öffnet sich ein Terminal, das Sie nach dem Passwort auf dem Rechner fragt. Geben Sie das Passwort der Kollegin an, wechseln Sie in ihr Home-Verzeichnis auf “Wilfried” und arbeiten dort in einem Terminal über eine sichere Verbindung. Wichtig: Sie melden sich über SSH immer als Benutzer an – manchmal als root, meist aber als lokaler User.

Abbildung 3: Die Verbindungen im Überblick: Per Mausklick melden Sie sich bei einem entfernten Rechner an.

Abbildung 3: Die Verbindungen im Überblick: Per Mausklick melden Sie sich bei einem entfernten Rechner an.

Sie können übrigens auch grafische Anwendungen von “Wilfried” lokal aufrufen, was X-Forwarding heißt. Erwarten Sie aber keine Wunder: Abhängig von der Bandbreite dauert es etwas, bis sich die Grafik aufbaut. Zudem kommt es vor, dass der entfernte SSH-Server die Übertragung grafischer Elemente generell verweigert.

Während Sie auf der Kommandozeile für das X-Forwarding noch die Option -X angeben müssen, schickt Secpanel diese Option gleich automatisch mit. Ein Klick auf Connect ruft im Hintergrund die Zeile

ssh -l schneider -A -X -2 -4 wilfried

auf. Diese Parameter ändern Sie im Profilmanager, den Sie über das zentrale Icon mit dem Ordner erreichen. Auf der linken Seite erscheinen mögliche Optionen, die Sie wahlweise aktivieren bzw. deaktivieren. Darunter entscheiden Sie sich zwischen den Protokollen SSH 1 oder SSH 2 sowie IPv4 und IPv6 – gewöhnlich passen aber die Standards.

Rechts in die Zeilen tragen Sie Pfade und Befehle ein: Hinter Exec führen Sie bei Bedarf auf, welchen Befehl SSH nach dem Anmelden automatisch ausführt. Unter Identity geben Sie an, welchen Schlüssel Sie für dieses Profil verwenden – dazu weiter unten mehr.

Die zentralen SSH-Konfigurationsdateien sshd_config und ssh_config liegen im Ordner /etc/ssh/. Ihre persönliche Konfiguration speichern Sie in einer Datei namens config im Ordner ~/.ssh: Den Ort teilen Sie Secpanel in der Zeile Cfg-File mit. Welche Verschlüsselung SSH benutzt, stellen Sie im Dropdown-Menü Algo ein. Auf Wunsch faltet SSH die Daten während der Übertragung zusammen – wie stark, regeln Sie rechts neben Compression.

Tunnel bauen

Interessant für Sie sind sicherlich auch die letzten beiden Optionen, die das Tunneln betreffen: Angenommen, im Firmennetzwerk läuft ein E-Mail-Client, den Sie nur aus dem Firmennetz heraus erreichen. Ihr Benutzername lautet weiterhin Müller und Sie laden Ihre E-Mails gewöhnlich über den Server pop3.example.com herunter. Über einen Tunnel reichen Sie nun alle Inhalte, die beim Remote-Rechner auf dem Mail-Port 110 ankommen, an den lokalen Rechner weiter und lesen die Firmenpost bequem zu Hause – wenn Sie das wirklich wollen.

Zunächst öffnen Sie dazu im Profilmanager das SSH-Profil, das Ihnen Zugang zum Firmennetz gewährt. Fehlt es, richten Sie es neu ein, wobei Sie als Host example.com angeben und als User Ihren Login-Namen in der Firma, der vermutlich mueller lautet.

Um den Tunnel zu bauen, wählen Sie Local Forwards und tragen unter Host die IP-Adresse ihres lokalen Rechners ein, die meist 127.0.0.1 lautet. Es folgen die Ports: In das linke Feld tragen Sie 5555 ein, rechts 110. Ein Klick auf Add schließt den Vorgang ab: Nun leiten Sie den entfernten Port für eingehende Mail (110) an den lokalen Port 5555 weiter. Es verwirrt etwas, dass der Pfeil von Port 5555 auf 110 zeigt und nicht umgekehrt.

Auf Wunsch ersetzen Sie Port 5555 durch einen beliebigen anderen Port, dessen Nummer 1024 aber übersteigen muss – allein Root darf Dienste mit kleineren Portnummern starten. Auf dieselbe Weise leiten Sie über Local Forwards auch andere Dienste wie IRC oder SMTP weiter.

Steht der Tunnel erst einmal, dann richten Sie mit Thunderbird, Evolution oder Kmail ein lokales E-Mail-Konto ein, das Sie beispielsweise Firmenzugang nennen. Dort wo Sie gewöhnlich pop3.example.com eingeben, tragen Sie jetzt 127.0.0.1 ein. Den Standard-Port ändern Sie von 110 in 5555, der Benutzername lautet mueller.

Wechseln Sie in das Menü mit den Profilen und melden Sie sich per SSH in Ihrem Home-Verzeichnis an. Rufen Sie den Mailclient auf und die Post für das Profil Firmenzugang ab. Der Client will Ihr Passwort wissen, das identisch mit dem ist, das Sie in der Firma benutzen. Er holt sich die Post direkt von Port 5555; der wiederum bezieht seine Daten – dank des SSH-Tunnels – vom Port 110 des Firmenrechners.

Daten schaufeln

Fehlt noch das nützliche kleine Tool scp, das Daten zwischen dem fernen und dem lokalen Rechner verschiebt. Wechseln Sie auf das Icon, das einen Karton und zwei Rechner zeigt, und markieren Sie das passende Profil. Ein Klick auf Connect öffnet das grafische SCP-Interface, das rechts die Dateien auf dem entfernten und links die auf dem lokalen Rechner anzeigt (Abbildung 4).

Abbildung 4: Datentransfer über SSH: Eine GUI in Tcl/Tk erleichtert den Datentransfer zwischen den Rechnern, sie arbeitet wie ein schlanker FTP-Client.

Abbildung 4: Datentransfer über SSH: Eine GUI in Tcl/Tk erleichtert den Datentransfer zwischen den Rechnern, sie arbeitet wie ein schlanker FTP-Client.

Wählen Sie eine(n) oder mehrere entfernte Dateien oder Ordner aus. Sobald Sie auf den nach links weisenden Pfeil klicken, kopiert Secpanel die markierten Daten auf den lokalen Rechner – in die umgekehrte Richtung funktioniert das auch. Zugleich öffnet sich eine Kommandozeile, die Press <RETURN> to continue ausgibt, sobald Secpanel fertig ist. [Eingabe] schließt die Konsole, ein Klick auf Close Connection das SCP-Interface.

Secpanel bietet auch an dieser Stelle Optionen an. So zeigt es auf Wunsch versteckte Dateien an (Show hidden files) oder konserviert die Dateiattribute (Preserve file attributes).

Schlüsselszenen

Die Schlüsselzentrale von Secpanel betreten Sie über das Icon mit dem Schlüsselbund (Abbildung 5). Verschiedene Server brauchen verschiedene Schlüssel. Für jedes Schlüsselpaar legen Sie eine Identität an. Über Add identity übergeben Sie Secpanel jeweils einen Schlüssel für einen entfernten Rechner.

Ein Beispiel: Im Profil Firmenzugang geben Sie über Identity einen Schlüssel an, der den Zugang zu Ihrer Firma ermöglicht. Andere Profile, die Ihnen zum Beispiel den Zugang zum privaten Rootserver gewähren, erfordern andere Schlüssel und damit eine andere Identität. Im Profilmanager bringen Sie die Schlüssel und den Server zusammen. Über Manage hostkeys generieren Sie theoretisch auch ein eigenes Schlüsselpaar: Das klappte im Test nicht, lässt sich aber manuell über ssh-keygen nachholen.

Abbildung 5: Der Schlüsselbund hält für jedes Profil einen eigenen Schlüssel bereit. Im Profilmanager geben Sie an, welches Profil welchen Schlüssel verwendet.

Abbildung 5: Der Schlüsselbund hält für jedes Profil einen eigenen Schlüssel bereit. Im Profilmanager geben Sie an, welches Profil welchen Schlüssel verwendet.

Fazit

Secpanel vereinfacht den Umgang mit SSH-Kommandos, indem es die ellenlangen Kopierbefehle auf ein paar Mausklicks reduziert. Es kennt die wichtigsten SSH-Kommandos, ist schlank und lässt sich schnell installieren. Die Schlüssel verwaltet Secpanel auch gleich mit und erweist sich damit als Freund und Helfer mit guten Verbindungen.

Glossar

RSA

RSA ist ein asymmetrisches Verfahren zur Datenverschlüsselung, das nach seinen Erfindern Rivest, Shamir und Adleman benannt ist.

Port

In Netzwerkprotokollen dienen Ports als Adresse für für bestimmte Dienste. Die TCP/IP-Protokolle nutzen Portnummern zwischen 0 und 65535. Dabei sind die Ports bis 1023 fest bestimmten Diensten zugewiesen (“Well Known Ports”).

IPv4 und IPv6

Bei IPv6, dem Internet Protocol Version 6, handelt es sich um den Nachfolger des gegenwärtig im Internet noch überwiegend verwendeten IPv4. Derzeit spielt IPv6 aber noch kaum eine Rolle.

IRC

Internet Relay Chat, ein etabliertes, rein textbasiertes Chat-System.

SMTP

Simple Mail Transfer Protocol, ein Protokoll zum Austausch von E-Mails in Computernetzen.

SCP

Secure Copy, ein Protokoll sowie ein Programm zur verschlüsselten Übertragung von Daten zwischen zwei Computern mittels SSH.

Infos

[1] Secpanel im Netz: http://www.pingx.net/secpanel/

[2] SSH und SCP: H. Jurzik, H.-G. Esser: “Auf der sicheren Seite”, LinuxUser 07/2001, S. 92, http://www.linux-user.de/ausgabe/2001/07/092-zubefehl/befehl17.html

[3] OpenSSH: Karl-Heinz Haag: “Blick-dicht”, Linux-Magazin 05/2002, S. 56, http://www.linux-magazin.de/Artikel/ausgabe/2002/05/openssh/openssh.html

LinuxUser 12/2006 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben