SSH−WIN PC−Benutzeranleitung - Forschungszentrum Jülich
SSH−WIN PC−Benutzeranleitung - Forschungszentrum Jülich
SSH−WIN PC−Benutzeranleitung - Forschungszentrum Jülich
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 1<br />
FORSCHUNGSZENTRUM JÜLICH GmbH<br />
Zentralinstitut für Angewandte Mathematik<br />
D−52425 <strong>Jülich</strong>, Tel. (02461) 61−6402<br />
Beratung und Betrieb, Tel. (02461) 61−6400<br />
Technische Kurzinformation<br />
FZJ−ZAM−TKI−0348<br />
Rudolf Theisen<br />
05.10.1999<br />
<strong>SSH−WIN</strong> <strong>PC−Benutzeranleitung</strong><br />
Überblick<br />
1 Übersicht über <strong>SSH−WIN</strong> und seine Installation unter Windows 95/98 bzw. NT<br />
2 Interaktive SSH−Verbindung mit Paßwort−Authentisierung<br />
2.1 Überprüfung des RSA−Rechner−Schlüssels des SSH−Servers<br />
2.2 Paßwort−Authentisierung<br />
3 Interaktive SSH−Verbindung mit RSA−Authentisierung<br />
3.1 Erzeugung eines RSA−Schlüsselpaars<br />
3.2 Aufbau einer SSH−Verbindung mit RSA−Authentisierung<br />
4 Ausführung eines Befehls auf einem entfernten SSH−Server<br />
5 Tunnelung anderer Dienste über <strong>SSH−WIN</strong><br />
5.1 Tunnelung von X11−Anwendungen<br />
5.1.1 Start der entfernten X11−Anwendung und deren Tunnelung<br />
5.1.2 Start eines X−Term−Fensters auf einem entfernten Rechner<br />
durch entfernte Befehlsausführung<br />
5.2 Tunnelung weiterer TCP/IP−Dienste, dargestellt am FTP−Dienst<br />
5.2.1 Konfiguration und Start des SSH−Tunnels zur sicheren<br />
Übertragung der FTP−Befehle<br />
5.2.2 Konfiguration und Start des WS_FTP−Client−Programms<br />
Hinweis: Dieses ist die Kurzfassung des Benutzerhandbuches BHB 0160 .<br />
1 Übersicht über <strong>SSH−WIN</strong> und seine Installation unter Windows 95/98 bzw. NT<br />
<strong>SSH−WIN</strong> ist ein kostenloses, windowsfähiges Secure Shell Client−Programm. Es wird<br />
von Cedomir Igaly entwickelt (s. Originale Homepage der <strong>SSH−WIN</strong>−Software<br />
(http://public.srce.hr/~cigaly/ssh) (161.53.2.130))<br />
<strong>SSH−WIN</strong> unterstützt folgende Secure Shell Funktionen:<br />
Interaktiver Zugriff (Sicherer Telnet−Ersatz; s. Kap. 2 und 3)<br />
Ausführung eines Befehls auf einem entfernten Rechner (Sichere Remote<br />
Execution; s. Kap. 4)
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 2<br />
Sichere Tunnelung von X11−Anwendungen (s. Kap. 5.1)<br />
Sichere Tunnelung von Diensten mit bekannten Port−Nummern (s. Kap. 5.2).<br />
<strong>SSH−WIN</strong> beherrscht also − im Gegensatz zur käufliche PC SSH−Version von Data<br />
Fellows − die sichere Befehlsausführung; beide können aber keinen sicheren File−Transfer<br />
(scp−Programm bei der SSH−UNIX−Versionen). Man kann aber die Benutzer−Kennung<br />
und das Paßwort, die beim FTP−Aufruf im Klartext über Port 21 übertragen werden,<br />
sichern, indem man Port 21 über eine vorher aufgemachte SSH−Verbindung übermittelt<br />
("tunnelt"; s. Kap. 5.2).<br />
Hinweis: Den sicheren File−Transfer bietet die SSH−DOS−Version 1.2.14 von<br />
Jonathan Chen, die Sie als interner FZJ−Benutzer z.B. unter<br />
ftp://ftp.kfa−juelich.de/pub/security/ssh/pc/ssh−dos/ finden bzw. auf die Sie als<br />
FZJ−Benutzer noch bequemer per Explorer über \\PCSRV\public\ssh\ssh−dos\<br />
bzw. Q:\ssh\ssh−dos\ zugreifen können.<br />
Externe können auf diese Software nur per<br />
http://www.fz−juelich.de/zam/net/security/software/ssh/pc/ssh−dos/ zugreifen.<br />
Windows 95/98 bzw. NT−Benutzer können <strong>SSH−WIN</strong> mit dem Installationsprogramm<br />
SecureShell.exe recht einfach installieren:<br />
Holen Sie sich das Installations−Programm SecureShell.exe entweder vom<br />
FZJ−FTP−Server<br />
(ftp://ftp.kfa−juelich.de/pub/security/ssh/pc/ssh−win/SecureShell.exe) oder mit dem<br />
Explorer von \\PCSRV\public\ssh\ssh−win\SecureShell.exe bzw.<br />
von Q:\ssh\ssh−win\SecureShell.exe oder als Nicht−FZJ−Benutzer von<br />
http://www.fz−juelich.de/zam/net/security/software/ssh/pc/ssh−win/SecureShell.exe<br />
auf Ihren PC (in ein beliebiges Verzeichnis) und starten Sie dieses entweder über<br />
den Explorer oder über<br />
−−> Start −−> Ausführen... . Dieses leitet Sie durch die Installation:<br />
Anzeige: "User Information"<br />
Falls die Felder "Name:" und "Company:" noch leer sind, tragen Sie dort einen<br />
beliebigen Text ein. Erst dann können Sie mit Next bzw. ENTER weiter.<br />
Anzeige: "Choose Destination Location"<br />
Voreingestellt wird <strong>SSH−WIN</strong> nach C:\Programme\Secure Shell<br />
installiert. Wenn Sie ein anderes Verzeichnis bevorzugen, können Sie das mit der<br />
Browse...−Schaltfläche suchen und festlegen. Weiter mit Next bzw. ENTER.<br />
Anzeige: "Select Program Folder"<br />
Voreingestellt erscheint <strong>SSH−WIN</strong> später unter der Bezeichnung "Secure Shell" in<br />
Ihrer Programm−Übersicht. Sie können im Feld "Program Folders:" eine andere<br />
Bezeichnung eintragen. Weiter mit Next bzw. ENTER.<br />
Anzeige: "Start Copying Files"<br />
Hier werden Ihnen die drei Files angezeigt, die nun installiert werden sollen.<br />
Weiter mit Next bzw. ENTER.<br />
Diese werden nun installiert.<br />
Anzeige: "Setup Complete"<br />
Mit Next bzw. ENTER bestätigen Sie diese Installations−Abschlußmeldung.<br />
Beschaffen Sie sich nun in das <strong>SSH−WIN</strong>−Arbeitsverzeichnis (vorein.:<br />
C:\Programme\Secure Shell) vom FTP−Server die Liste der aktuellen SSH−<br />
Rechner−Schlüssel ftp://ftp.kfa−juelich.de/ssh_known_hosts.FZJ und nennen Sie diesen<br />
File um in known.hosts.
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 3<br />
Für externe Benutzer bieten wir nur die SSH−Rechner−Schlüssel der Cray−Rechner und<br />
des zentralen AIX−Rechners an. Diese Sammlung können Sie in der Version vom 27.09.99<br />
von<br />
http://www.fz−juelich.de/zam/net/security/software/ssh/aix−und−cray−ssh_known_hosts<br />
bekommen. Speichern Sie diese im <strong>SSH−WIN</strong>−Arbeitsverzeichnis (s.o.) als<br />
known.hosts.<br />
Sie können aber auch ganz auf diese SSH−Rechner−Schlüssel verzichten und interaktiv<br />
diejenigen übernehmen, die Ihnen beim ersten SSH−Verbindungs−Aufbau vom jeweiligen<br />
Ziel−Rechner angeboten werden. Dabei aber müssen Sie darauf hoffen, daß Sie diese schon<br />
vom richtigen Ziel−Rechner angeboten bekommen. Es besteht dann aber die Gefahr, daß<br />
ein anderer Rechner sich für den Ziel−Rechner ausgibt und dann alles mitlesen kann<br />
(Man−in−the−Middle−Attack).<br />
Wer PGP installiert hat, kann sich dort auch noch die digitale Signatur<br />
(aix−und−cray−ssh_known_hosts.asc) dieser reduzierten SSH−Schlüssel−Sammlung<br />
holen, lokal abspeichern und mit dem Aufruf<br />
pgp aix−und−cray−ssh_known_hosts.asc<br />
aix−und−cray−ssh_known_hosts<br />
prüfen.<br />
Im nächsten Kapitel wird gezeigt, wie Sie sofort mit SSH eine sichere interaktive<br />
Verbindung zu einem Zielrechner aufbauen können und sich dort wie bisher mit Ihrem<br />
Paßwort ausweisen. Im 3. Kapitel wird dann die vom ZAM empfohlene<br />
RSA−Authentisierung mit Hilfe Ihres privaten SSH−Schlüsselpaares vorgestellt.<br />
2 Interaktive SSH−Verbindung mit Paßwort−Authentisierung<br />
Wenn Sie <strong>SSH−WIN</strong> mit Hilfe des Installationsprogramms SecureShell.exe<br />
installiert haben, können Sie es ganz normal über<br />
−−> Start −−> Programme −−> Secure Shell starten. Sie können es aber auch über den<br />
Explorer starten (ssh32.exe bzw. ssh32 Anwendung (ca. 262 KB)).<br />
Als erstes wird Ihnen die Nutzungs−Erklärung des Autors angezeigt , die Sie mit OK oder<br />
ENTER beenden. Daraufhin wird Ihnen innerhalb der <strong>SSH−WIN</strong>−Bedienoberfläche<br />
diejenige SSH−Verbindungsmaske angezeigt, die Sie als letzte mit der Save−Schaltfläche<br />
in der Registry abgespeichert hatten. Beim allerersten <strong>SSH−WIN</strong>−Aufruf ist diese<br />
natürlich noch − bis auf Ihren PC−Benutzernamen − leer. Füllen Sie die<br />
SSH−Verbindungsmaske aus:
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 4<br />
Bild: 2.1 Verbindungs−Profile für einen SSH−Zugriff mit Paßwort−Authentisierung<br />
Erklärungen dazu:<br />
Der Ziel−Rechner (1) und Ihre dortige Benutzer−Kennung (2) sind einzutragen.<br />
Das voreingestellte Verschlüsselungsverfahren Idea ist gut (3).<br />
Den Kompressions−Schieber (compression Level) ist unbedingt auf "Min."<br />
zu stellen (4), d.h. die Kompression abschalten. Diese verzögert nur alles unnötig<br />
und macht zu AIX−Rechnern nur Ärger!<br />
Wenn Sie auf dem Zielrechner keine X−Anwendung starten wollen, sollten Sie<br />
vorsichtshalber das "X11 Forward" immer abschalten. Wenn ein Angreifer an<br />
den Inhalt von $HOME/.Xauthority auf dem entfernten Rechner kommt, kann er<br />
mitunter damit Ihrem lokalen X−Server Befehle senden, die dann bei Ihnen lokal<br />
ausgeführt werden (s. Ulrich Flegel: The Interaction between SSH and X11<br />
(http://HOME.Braunschweig.Netsurf.De/~ulrich.flegel/pub/ssh−x11.ps.gz).<br />
Wenn die Option "X11 Forward" aktiviert ist (5), werden alle X11−Anwendungen<br />
ebenfalls verschlüsselt übertragen. Voraussetzung aber ist, daß Sie vorher am PC<br />
einen X−Server gestartet haben ( s. TKI 0293; wenn Sie \\PCSRV\public\<br />
permanent dem Laufwerk Q: zugeordnet haben, dann ist die PC−Xware−Software<br />
mit Q:\winnt40\pcxware\setup.exe installierbar.)<br />
Die Option "Receive LF as CR/LF" hilft, UNIX−Zeilen−Ende am PC korrekt<br />
darzustellen (6).<br />
Im Feld "Profile Name:" können Sie einen beliebigen Text für diesen<br />
Verbindungs−Profile definieren (7). Darüber können Sie bei späteren<br />
<strong>SSH−WIN</strong>−Aufrufen wieder gezielt diesen Verbindungs−Profile auswählen. Diese<br />
Profile−Bezeichnung kann man auch als Aufruf−Parameter verwenden, z.B. bei<br />
Icons (s. Benutzerhandbuch).<br />
Mit der Save−Schaltfläche sind diese Angaben in die Registry zu retten (8).<br />
Mit OK bzw. ENTER wird diese SSH−Verbindung gestartet (9).
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 5<br />
Falls Sie SSH−Verbindungen zu verschiedenen Zielrechner aufnehmen wollen, können Sie<br />
sich mit der New−Schaltfläche weitere solcher SSH−Verbindungs−Profile anlegen und<br />
retten.<br />
2.1 Überprüfung des RSA−Rechner−Schlüssels des SSH−Servers<br />
Der SSH−Server sendet zu Beginn des Verbindungsaufbaus seinen RSA−Rechner<br />
−Schlüssel. Bevor dieser zur Verschlüsselung der SSH−Verbindung verwendet wird, prüft<br />
der SSH−Client, ob er diesen Schlüssel schon im File known.hosts hat; ansonsten zeigt<br />
er ihn an:<br />
Bild: 2.2 Anzeige eines noch unbekannten RSA−Rechner−Schlüssels<br />
Wenn Sie sich bereits früher zu diesem Zielrechner per SSH verbunden haben, dann<br />
sollten Sie Verdacht schöpfen und vorsorglich die Übernahme dieses Schlüssel in<br />
known.hosts über die Schaltfläche Refuse key ablehnen. Dann wird diese SSH−Sitzung<br />
mit der fatalen Fehlermeldung: "No host key is known for HOST"<br />
abgebrochen.<br />
Setzen Sie sich mit dem Administrator des Zielrechners in Verbindung und klären Sie,<br />
warum sich der Rechner−Schlüssel geändert hat. Es kann nämlich sein, daß Sie mit einem<br />
Rechner verbunden waren, der nur den von Ihnen gewünschten Zielrechner vortäuscht,<br />
um so z.B. an Ihr Paßwort zu kommen.<br />
Normalerweise aber werden Sie keinen Grund zu einem Verdacht haben und den<br />
angebotenen RSA−Rechner−Schlüssel einmal (Accept once) oder für immer (mit Accept<br />
Key bzw. ENTER) akzeptieren.<br />
2.2 Paßwort−Authentisierung<br />
Nachdem der RSA−Rechner−Schlüssel geprüft ist, kann der SSH−Client damit eine<br />
verschlüsselte Verbindung zum SSH−Server aufbauen. Ab nun wird alles zwischen Ihrem<br />
SSH−Client und dem SSH−Server abhörsicher übertragen.<br />
Da bei diesem ersten <strong>SSH−WIN</strong>−Anwendungs−Beispiel die sehr sichere<br />
RSA−Authentisierung noch nicht vorbereitet ist (s. Interaktive SSH−Verbindung mit<br />
RSA−Authentisierung), müssen Sie sich nun ganz normal mit Ihrem Paßwort auf dem<br />
Zielrechner ausweisen. Sie haben dazu drei Versuche. Nach dem dritten Fehlversuch wird<br />
<strong>SSH−WIN</strong> mit der fatalen Fehlermeldung "Permission denied" ganz abgebrochen.<br />
Dadurch wird das Paßwort−Raten deutlich erschwert.<br />
Nach Eingabe des richtigen Paßwortes erhalten Sie Zugang zu Ihrer Benutzer−Kennung
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 6<br />
(User ID) auf dem Zielrechner und können dort ganz normal interaktiv arbeiten. Dabei<br />
wird ein VT100−Terminal emuliert. Statt dessen können Sie sich dort mit xterm & auch<br />
ein X−Terminal starten, falls an Ihrem PC der X−Server läuft.<br />
Mit dem Befehl exit beenden Sie diese interaktive Verbindung zum Zielrechner. Wenn Sie<br />
beim Aufruf (s. Bild 2.1) die Option "Close on exit" nicht aktiviert hatten, können Sie nun<br />
die nächste SSH−Verbindung festlegen und starten oder mit −−> Action −−> Exit das<br />
<strong>SSH−WIN</strong>−Programm endgültig beenden.<br />
3 Interaktive SSH−Verbindung mit RSA−Authentisierung<br />
Bevor Sie die sehr sichere RSA−Authentisierung verwenden können, bei der kein<br />
Geheimnis Ihren Rechner verläßt, müssen Sie sich zuerst ein RSA−Schlüsselpaar selbst<br />
erzeugt und dessen öffentlichen Schlüssel am Zielrechner an den File<br />
$HOME/.ssh/authorized_keys angefügt haben.<br />
3.1 Erzeugung eines RSA−Schlüsselpaars<br />
Bild: 3.1 Ausgefüllte Maske zur Erzeugung eines RSA−Schlüsselpaars<br />
Erklärungen:<br />
1. Aufruf mit −−> Keys −−> Generate key<br />
2. Im "Key description"−Feld können Sie eine beliebige Bezeichnung für<br />
diesen Schlüssel eintragen. Wir empfehlen aber die Form<br />
Benutzerkennung@Rechnername.<br />
3. Die voreingestellte Schlüssellänge von 1024 ist ausreichend sicher.<br />
4. Das idea−Verfahren zur Verschlüssellung des privaten RSA−Schlüssels ist gut.<br />
5. Die voreingestellte Option "SSH v1 identity" ist gut. Die Protokoll−Version 2<br />
hingegen ist nicht mehr kostenlos und wird derzeit nicht offiziell im FZJ eingesetzt.<br />
6. Mit OK bzw. ENTER die Schlüssel−Erzeugung starten<br />
Das RSA−Schlüsselpaar wird aus zwei sehr großen Primzahlen p und q erzeugt, deren<br />
Generierung in der Statuszeile angezeigt wird.<br />
Anschließend wird Ihnen zum Abspeichern das aktuelle Inhaltsverzeichnis angezeigt:
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 7<br />
Bild: 3.2 Eingabe des Filenamens für Ihren geheimen SSH−Schlüssel<br />
Sie können zu einem anderen Verzeichnis wechseln, auch zu A:, oder sich ein neues<br />
Verzeichnis anlegen. Ihr geheimer SSH−Schlüssel muß also nicht im<br />
<strong>SSH−WIN</strong>−Arbeitsverzeichnis liegen, wo ihn ja jeder Angreifer suchen wird.<br />
Tragen Sie dann dort einen beliebigen Filenamen für Ihren privaten RSA−Schlüssel ein,<br />
z.B. Benutzername@Rechnername (7). Der dazu passende öffentliche RSA−Schlüssel<br />
bekommt dann automatisch den gleichen Filenamen, jedoch mit der Erweiterung ".pub".<br />
Mit der Speichern−Schaltfläche wird der Name übernommen (8).<br />
Anschließend werden Sie aufgefordert, Ihren SSH−Geheimsatz (passphrase) einzugeben,<br />
mit dem Ihr geheimer RSA−Schlüssel nochmals verschlüsselt wird, um ihn für einen<br />
Datendieb unbrauchbar zu machen. Dieser SSH−Geheimsatz ist letztendlich der wichtigste<br />
Schutz, mit dem Sie Ihren RSA−SSH−Schlüssel sichern. Verwenden Sie dabei sowohl<br />
Groß− als auch Kleinbuchstaben, Zahlen und Sonderzeichen, um so die Möglichkeit zu<br />
vereiteln, daß einer durch Ausprobieren aller möglichen Kombinationen doch noch Ihren<br />
privaten RSA−Schlüssel nutzen kann. Verwenden Sie keines Ihrer UNIX oder<br />
PC−Paßworte! Es gibt bereits (Makro−) Viren, die versuchen, private (PGP)<br />
RSA−Schlüssel zu entführen, um dann schlecht gewählte Geheimsätze zu erraten.<br />
Bild: 3.3 Zweifache Eingabe des SSH−Geheimsatzes<br />
Achten Sie darauf, den SSH−Geheimsatz (passphrase) gleich zweimal einzugeben (9, 10),<br />
also zu bestätigen, wobei Sie aber nicht mit der ENTER−Taste, sondern mit der Tab−Taste<br />
in die Bestätigungszeile kommen (10). Mit OK bzw. ENTER (11) wird Ihr privater<br />
RSA−Schlüssel verschlüsselt und im ausgewählten Verzeichnis abgespeichert.<br />
Wenn Sie wollen, können Sie sich so beliebig viele RSA−Schlüsselpaare definieren und für<br />
jeden SSH−Verbindung ein anderes verwenden.<br />
3.2 Aufbau einer SSH−Verbindung mit RSA−Authentisierung
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 8<br />
Um die RSA−Authentisierung nutzen zu können, müssen Sie Ihren öffentlichen<br />
SSH−Schlüssel (Endung: .pub) zu Ihrem Benutzerverzeichnis auf dem UNIX−Zielrechner<br />
gebracht (z.B. per Mail) und dort an den File $HOME/.ssh/authorized_keys<br />
angefügt haben. Dieser File und das Verzeichnis $HOME/.ssh dürfen nur von Ihnen<br />
beschreibbar sein, damit kein andere dort seinen RSA−Schlüssel anfügen kann. Denn<br />
jeder, der das schafft, hat anschließend ungehinderten Zugang zu Ihrer dortigen<br />
Benutzer−Kennung.<br />
Wenn sie diese Voraussetzungen erfüllt haben, können Sie nun in den<br />
SSH−Verbindungs−Optionen die RSA−Authentisierung aktivieren (5) und über die<br />
Identities−Schaltfläche (8) den vollständigen Pfadnamen Ihres öffentlichen SSH<br />
RSA−Schlüssels festlegen. Sie könnten dort auch mehrere Schlüssel−Files angeben:<br />
Bild: 3.4 Anforderung der RSA−Authentisierung im SSH−Verbindungsmenü<br />
Wichtig ist, daß die Kompression abgeschaltet (4) und die RSA−Authentisierung aktiviert<br />
ist (5). Über die Identities−Schaltfläche (8) definieren Sie, wo Ihr(e) RSA−Schlüssel zu<br />
finden ist/sind.<br />
Zunächst ist natürlich noch kein Schlüssel in der "Identity list" bekanntgemacht. Über die<br />
New−Schaltfläche können Sie den Schlüssel−Pfad suchen (9. Schritt, hier ohne Bild).<br />
Dazu wird voreingestellt das <strong>SSH−WIN</strong>−Arbeitsverzeichnis angezeigt:
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 9<br />
Bild: 3.5 Auswahl eines geheimen RSA−Schlüssels (hier: zdv117@zam054)<br />
Wählen Sie dort Ihren geheimen SSH−Schlüssel aus (10) und bestätigen Sie diese Wahl<br />
mit der Öffnen−Schaltfläche (11). Dann wird Ihnen in der "Identity list" links dessen<br />
vollständiger Pfadname und rechts dessen Hexa−Kennung angezeigt:<br />
Bild: 3.6 Pfad und Hexa−Wert des ausgewählten RSA−Schlüssels<br />
Mit OK bzw. ENTER (12) kommen Sie wieder zurück zum SSH−Verbindungsmenü (s.<br />
Bild 3.4).<br />
Dort sollten Sie im Feld "Profile Name:" eine aussagekräftige Bezeichnung eintragen (13)<br />
und diese Aufruf−Parameter mit der Save−Schaltfläche in die Registry retten (14), bevor<br />
Sie mit OK oder ENTER (15) die Verbindung starten.<br />
Bei der RSA−Authentisierung werden Sie dann nicht nach Ihrem Zielrechner−Paßwort,<br />
sondern nach Ihrem lokalen SSH−Geheimsatz (Passphrase) für den betreffenden<br />
RSA−Schlüssel gefragt:
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 10<br />
Bild: 3.7 Eingabe des lokalen SSH−Geheimsatzes zur RSA−Authentisierung<br />
Bei dieser Art der Authentisierung verläßt kein Geheimnis Ihren Rechner. Ihr privater<br />
SSH−Schlüssel wird nämlich nur lokal benötigt, um eine vom SSH−Server für Sie<br />
verschlüsselte Botschaft zu entschlüsseln und diese dann modifiziert an den SSH−Server<br />
zurückzuschicken. Der erkennt daran, ob Sie im Besitz des passenden<br />
SSH−Geheimschlüssels sind, und akzeptiert das als Ihre Zugangsberechtigung.<br />
Dann können Sie ganz normal interaktiv auf den entfernten Rechner zugreifen.<br />
Mit exit beenden Sie diese interaktive Sitzung. Eventuell müssen Sie anschließend die<br />
<strong>SSH−WIN</strong>−Bedienoberfläche explizit mit −−> Action −−> Exit ganz beenden.<br />
4 Ausführung eines Befehls auf einem entfernten SSH−Server<br />
<strong>SSH−WIN</strong> erlaubt es, eine Befehlszeile, die im Command−Feld eingetragen ist (1), auf<br />
einem entfernten Rechner ausführen zu lassen (sichere Remote Execution):<br />
Bild: 4.1 Verbindungs−Maske mit mehreren entfernt, auf dem zentralen AIX−Rechner<br />
auszuführenden Befehlen<br />
Wenn Sie die Ausgabe der entfernt ausgeführten Befehle hier sehen möchten, dürfen Sie<br />
die Option "Close on exit" nicht aktivieren (2).<br />
Die Option "Receive LF as CR/LF" sollte Sie aber aktivieren (3), damit Sie<br />
Programm−Ausgaben an Ihrem PC zeilengerecht lesen können:<br />
Bild: 4.2 Ausgabe der entfernt ausgeführten Befehle
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 11<br />
Der Status des zuletzt ausgeführten Befehls wird in der <strong>SSH−WIN</strong>−Statuszeile angezeigt.<br />
Sie haben aber bei der entfernte Befehlsausführung unter <strong>SSH−WIN</strong> − im Gegensatz zum<br />
SSH−DOS − keine Möglichkeit, diese von Ihrem Terminal aus zu steuern, können also<br />
auch keine seitenweise Anzeige anfordern (z.B. ls −lisa | more ).<br />
Wenn − wie in diesem Beispiel − die "Close on Exit"−Option nicht aktiviert war (2), muß<br />
man nun diese SSH−Sitzung selbst beenden (s. (4) und (5)):<br />
Bild: 4.3 Manuelle Beendigung der SSH−Sitzung<br />
Hinweis: Wenn Sie als entfernten Befehl xterm eintragen, erhalten Sie so ein komfortables<br />
X−Terminal des entfernten Rechners (s.u.). Im Handbuch ist erklärt, wie Sie sich dazu<br />
noch ein Icon erstellen.<br />
5 Tunnelung anderer Dienste über <strong>SSH−WIN</strong><br />
Über eine bestehende interaktive SSH−Verbindung kann man andere TCP/IP−Dienste,<br />
deren Port−Zuordnung bekannt ist, verschlüsselt, also abhörsicher übertragen.<br />
5.1 Tunnelung von X11−Anwendungen<br />
Sicherheits−Vorbemerkung zur X11−Tunnelung<br />
Ulrich Flegel weist in The Interaction between SSH and X11<br />
(http://HOME.Braunschweig.Netsurf.De/~ulrich.flegel/pub/ssh−x11.ps.gz) auf die Gefahr<br />
hin, daß ein Angreifer, der an den Inhalt von $HOME/.Xauthority auf dem entfernten<br />
Rechner kommt, Ihrem lokalen X−Server beliebige Befehle zur Ausführung auf Ihrem<br />
lokalen Rechner schicken kann. Diese .Xauthority−Files sind nur durch die<br />
UNIX−File−Rechte geschützt. In seinem Papier skizziert er auch, wie man dann, wenn die<br />
HOME−Verzeichnisse per NFS exportiert werden, recht einfach an den Inhalt von<br />
Benutzer−Files kommt. Der Angriff ist noch einfacher, wenn der Angreifer ebenfalls eine<br />
Benutzer−Kennung auf dem entfernten Rechner hat. Unangenehm ist, daß durch<br />
Sicherheits−Lücken im entfernten Rechner Ihr lokaler Rechner attackierbar wird.<br />
Ursache dafür ist aber nicht SSH sondern X−11. Unter SSH aber können Sie diese<br />
X11−Tunnelung ganz abschalten. Das sollten Sie immer tun, wenn Sie keine<br />
X11−Anwendung auf dem Zielrechner starten wollen.<br />
Ganz gefährlich aber ist die Unsitte, mit dem xhost Zielrechner einen<br />
bestimmten Rechner oder gar mit xhost + weltweit allen Rechnern X−Zugriffe<br />
auf den lokalen X−Server zu erlauben. Wer so unverantwortlich handelt, dem hilft<br />
SSH nicht.
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 12<br />
Am einfachsten aber ist die Tunnelung von X11−Anwendungen, weil SSH diese fast<br />
automatisch macht. Voraussetzung ist, daß Sie vorher auf Ihrem PC einen X11−Server im<br />
Passiv−Mode gestartet haben (s. TKI 0293). Weiterhin müssen Sie die Option "X11<br />
Forward" im SSH−Options−Menü aktiviert haben (s. Punkt 3):<br />
Bild: 5.1 SSH−Verbindungsmaske mit aktivierter X11−Tunnelung<br />
Auf dem entfernten Rechner aber dürfen Sie die DISPLAY−Variable nicht wie bisher<br />
selbst definieren. Denn nur wenn diese auf den entfernten Rechner zeigt, was Sie mit<br />
echo $DISPLAY kontrollieren sollten, wird eine X−Verbindung auch tatsächlich<br />
verschlüsselt, also sicher übertragen. Wenn die DIPLAY−Variable aber wie früher auf<br />
Ihren PC zeigt, dann können Sie diese X−Anwendung zwar weiterhin korrekt bedienen; Sie<br />
merken aber nicht, daß Sie diese X−Verbindung wie früher total unsicher betreiben.<br />
Kommentieren Sie dann die DISPLAY− bzw. autodisplay−Anweisung in Ihrem<br />
UNIX−Profile ($HOME/.profile) aus und starten Sie diese Verbindung neu.<br />
Dann können Sie auf dem entfernten Rechner eine X−Anwendung starten und<br />
abhörsicher bedienen. Mit xterm & können Sie sich z.B. ein komfortableres X−Term<br />
Fenster geben lassen:<br />
Bild: 5.2 Interaktiver Start eines xterm−Fensters auf dem entfernten Rechner und seine
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 13<br />
Darstellung auf Ihrem PC<br />
5.1.1 Start eines X−Term−Fensters auf einem entfernten Rechner durch entfernte Befehlsausführung<br />
Wenn Sie allerdings nur ein X−Term eines entfernten Rechners benötigen, so genügt es,<br />
xterm−Aufruf als entfernten Befehl ausführen zu lassen (Sichere Remote Execution):<br />
Bild: 5.3 Entfernte Ausführung des xterm−Befehls<br />
Besonderheiten:<br />
xterm ist als entfernt auszuführenden Befehl (Command) eingetragen (2).<br />
Da die Option "Close on exit" aktiviert ist (4), wird die SSH−Bedienoberfläche<br />
automatisch beendet, sobald Sie später das X−Term−Fenster mit exit beenden.<br />
Die Option "Hide window" ist aktiviert (5). Dadurch wird die<br />
<strong>SSH−WIN</strong>−Oberfläche nicht angezeigt. Sie sehen nur das X−Term−Fenster.<br />
Kontrollieren Sie, ob die voreingestellte Option "X11 Forward" aktiviert ist (6).<br />
5.2 Tunnelung weiterer TCP/IP−Dienste, dargestellt am FTP−Dienst<br />
Wie Sie mit SSH beliebige andere TCP/IP−Dienste, deren Port−Nummer Sie kennen,<br />
sicher übertragen können, ist im folgenden für den interessierten Leser exemplarisch an der<br />
Tunnelung des FTP−Kommando−Kanals (Port 21) kurz skizziert. Im Handbuch wird<br />
dieses Anwendungs−Beispiel ausführlich besprochen.<br />
Dazu müssen Sie vorher aus dem SSH−Verbindungs−Optionsfenster über die Local<br />
Forwards−Schaltfläche den zu tunnelnde TCP/IP−Dienst festlegen. Das soll exemplarisch<br />
an der Tunnelung des FTP−Kommando−Kanals (Port 21) demonstriert werden, über den<br />
Ihr Paßwort und Ihre Benutzer−Kennung im Klartext übertragen werden. Leider kann<br />
man den eigentlichen FTP−Datentransfer nicht tunneln, da man nicht weiß, welche<br />
Port−Nummer der FTP−Server und der FTP−Client dafür aushandeln werden.
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 14<br />
5.2.1 Konfiguration und Start des SSH−Tunnels zur sicheren Übertragung der FTP−Befehle<br />
Dazu ist <strong>SSH−WIN</strong> wie gewohnt zu starten und die "SSH options"−Eingabemaske<br />
auszufüllen:<br />
Bild: 5.4 Definition der Weiterleitung von FTP−Kommandos über Port 21 zum<br />
Zielrechner<br />
Besonderheiten:<br />
Durch die Aktivierung der Option "Hide window" (6) wird die interaktive<br />
SSH−Verbindung sofort in den Hintergrund gesetzt, sobald dieser SSH−Tunnel<br />
aufgebaut ist.<br />
Zur Tunnelung ist über die Local Forwards−Schaltfläche (8) die Forwards<br />
−Eingabemakse aufzurufen, dort mit der New−Schaltfläche eine neue<br />
Weiterleitungsmaske auszuwählen (9) und die Tunnelung von Port 21 (10) und (12)<br />
zu Ihrem Zielrechner (11) zu definieren.<br />
Statt Port 21 hätten Sie als lokales Port auch eine beliebige andere Nummer<br />
wählen können, z.B. 4711; Port 21 hat den Vorteil, daß dies bei Ihrem<br />
FTP−Programm die voreingestellte Port−Nummer ist, Sie dort also die<br />
Voreinstellung übernehmen können (s.u.).<br />
Die Option "Only local" muß unbedingt aktiviert sein (13), damit kein anderer, der<br />
weiß, daß Sie diesen Tunnel aufgebaut haben, diesen unbemerkt mitbenutzen kann.
http://www.kfa−juelich.de/zam/docs/tki/tki_html/t0348/tki−0348all.htm Page: 15<br />
Mit OK bzw. ENTER übernehmen Sie diese Forwarding−Einstellungen (14) und<br />
kommen wieder zum "SSH options"−Menü zurück.<br />
Es empfiehlt sich, diese Einstellungen einen Profile−Namen zu geben (15) und mit<br />
der Save−Schaltfläche in der Registry zu retten (16).<br />
Nun können Sie sich − wie gewohnt − mit OK bzw. ENTER mit dem SSH−Server<br />
verbinden (17) und sich entweder mit Ihrem SSH−Geheimsatz oder mit Ihrem<br />
Zielrechner−Paßwort ausweisen. Im zweiten Schritt müssen Sie nun am PC die<br />
FTP−Software starten und konfigurieren. Das wird im folgenden exemplarisch für das<br />
WS_FTP−Client−Programm gezeigt.<br />
5.2.2 Konfiguration und Start des WS_FTP−Client−Programms<br />
Rufen Sie das WS_FTP−Programm auf und definieren Sie sich als erstes einen eigenen<br />
Profile (Session Profile), der seine FTP−Befehl lokal auch tatsächlich zur Verschlüsselung<br />
an das vorher gestartete SSH−Client−Programm übergibt, also das SSH−Tunnel auch<br />
wirklich benutzt:<br />
Bild: 5.5 Erstellung eines WS_FTP−Profiles und Festlegung weiterer<br />
FTP−Zusatzparameter<br />
Besonderheiten:<br />
Als Zielrechner ("Host Name") tragen Sie localhost bzw. 127.0.0.1 ein (1).<br />
Dadurch sendet Ihr FTP−Client seine sensitiven FTP−Befehle an das lokal laufende<br />
SSH−Client−Programm.<br />
Mit der Advanced−Schaltfläche rufen Sie eine erweiterte Eingabe−Maske (5).