OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

Beachten Sie, dass die Anzeige eines Terminalfensters vom Remote-Rechner auch als Anzeige eines Bildes betrachtet wird.


Image

10.4.4. Die SSH-Suite


10.4.4.1. Einleitung


Die meisten UNIX- und Linux-Systeme verwenden mittlerweile Secure SHell, um die damit verbundenen Sicherheitsrisiken auszuschließen telnet. Auf den meisten Linux-Systemen wird eine Version von OpenSSH ausgeführt, einer Open-Source-Implementierung des SSH-Protokolls, die sichere verschlüsselte Kommunikation zwischen nicht vertrauenswürdigen Hosts über ein nicht vertrauenswürdiges Netzwerk ermöglicht. Im Standard-Setup werden X-Verbindungen automatisch weitergeleitet, es können aber auch beliebige TCP/IP-Ports über einen sicheren Kanal weitergeleitet werden.


Das ssh Der Client stellt eine Verbindung zum angegebenen Hostnamen her und meldet sich an. Der Benutzer muss dem Remote-Computer seine Identität gemäß den Angaben mitteilen sshd_config Datei, die normalerweise in zu finden ist /etc/ssh. Die Konfigurationsdatei ist eher selbsterklärend und aktiviert standardmäßig die meisten gängigen Funktionen. Sollten Sie Hilfe benötigen, finden Sie diese im sshd man-Seiten.


Wenn die Identität des Benutzers vom Server akzeptiert wurde, führt der Server entweder den angegebenen Befehl aus oder meldet sich am Computer an und stellt dem Benutzer eine normale Shell auf dem Remote-Computer zur Verfügung. Die gesamte Kommunikation mit dem Remote-Befehl oder der Shell wird automatisch verschlüsselt.


Die Sitzung wird beendet, wenn der Befehl oder die Shell auf dem Remotecomputer beendet wird und alle X11- und TCP/IP-Verbindungen geschlossen wurden.


Wenn Sie zum ersten Mal eine Verbindung zu einem Host herstellen und dabei eines der in der SSH-Sammlung enthaltenen Programme verwenden, müssen Sie die Authentizität dieses Hosts feststellen und bestätigen, dass Sie eine Verbindung herstellen möchten:


Lenny ~> SSH-Blob

Die Authentizität des Hosts „blob (10.0.0.1)“ kann nicht festgestellt werden. Der RSA-Fingerabdruck ist 18:30:50:46:ac:98:3c:93:1a:56:35:09:8d:97:e3:1d. Sind Sie sicher, dass Sie die Verbindung fortsetzen möchten (Ja/Nein)? ja

Warnung: „blob,192.168.30.2“ (RSA) wurde dauerhaft zur Liste der bekannten Hosts hinzugefügt.

Letzter Login: Sa. 28. Dez. 13:29:19 2002 von Octarine Dieser Raum ist zu vermieten.


Lenny ist in ~

Lenny ~> SSH-Blob

Die Authentizität des Hosts „blob (10.0.0.1)“ kann nicht festgestellt werden. Der RSA-Fingerabdruck ist 18:30:50:46:ac:98:3c:93:1a:56:35:09:8d:97:e3:1d. Sind Sie sicher, dass Sie die Verbindung fortsetzen möchten (Ja/Nein)? ja

Warnung: „blob,192.168.30.2“ (RSA) wurde dauerhaft zur Liste der bekannten Hosts hinzugefügt.

Letzter Login: Sa. 28. Dez. 13:29:19 2002 von Octarine Dieser Raum ist zu vermieten.


Lenny ist in ~

Es ist wichtig, dass Sie „ja“ in drei Zeichen eingeben, nicht nur „y“. Dadurch wird Ihr bearbeitet ~/.ssh/known_hosts

Datei finden Sie in Abschnitt 10.4.4.3.


Wenn Sie nur etwas auf einem Remote-Rechner überprüfen und dann Ihre Eingabeaufforderung auf dem lokalen Host zurückerhalten möchten, können Sie die Befehle, die Sie remote ausführen möchten, als Argumente angeben ssh:


Image

Lenny ~> ssh blob who

jenny@blobs Passwort:


Wurzel

tt2

Juli

24

07:19

lena

tt3

Juli

23

22:24

lena

0:

Juli

25

22:03

Lenny ~> uname -n

magrat.example.com


Image


10.4.4.2. X11- und TCP-Weiterleitung


Besitzt das X11Weiterleitung Eintrag ist eingestellt auf ja auf dem Zielcomputer und der Benutzer verwendet X-Anwendungen, die DISPLAY Wenn die Umgebungsvariable festgelegt ist, wird die Verbindung zum X11-Display automatisch an die Remote-Seite weitergeleitet, sodass alle von der Shell gestarteten X11-Programme über den verschlüsselten Kanal laufen und die Verbindung zum echten lokale Maschine. Der Benutzer sollte nicht manuell einstellen DISPLAY. Die Weiterleitung von X11-Verbindungen kann auf der Kommandozeile oder im konfiguriert werden sshd Konfigurationsdatei.


Der Wert für DISPLAY eingestellt von ssh zeigt auf den Servercomputer, jedoch mit einer Anzeigenummer größer als Null. Das ist normal und passiert, weil ssh schafft ein Stellvertreter X-Server auf dem Servercomputer (auf dem die X-Client-Anwendung ausgeführt wird) zum Weiterleiten der Verbindungen über den verschlüsselten Kanal.


Dies geschieht alles automatisch. Wenn Sie also den Namen einer grafischen Anwendung eingeben, wird dieser auf Ihrem lokalen Computer und nicht auf dem Remote-Host angezeigt. Wir gebrauchen xUhr im Beispiel, da es sich um ein kleines Programm handelt, das in der Regel installiert ist und sich ideal zum Testen eignet:


Abbildung 10-3. SSH X11-Weiterleitung


Image


SSH richtet außerdem automatisch Xauthority-Daten auf dem Servercomputer ein. Zu diesem Zweck wird ein zufälliges Autorisierungs-Cookie generiert und gespeichert XAutorität auf dem Server und überprüfen Sie, ob alle weitergeleiteten Verbindungen dieses Cookie enthalten, und ersetzen Sie es durch das echte Cookie, wenn die Verbindung geöffnet wird. Das echte Authentifizierungscookie wird niemals an den Server gesendet (und es werden keine Cookies im Klartext gesendet).


Die Weiterleitung beliebiger TCP/IP-Verbindungen über den sicheren Kanal kann entweder auf der Befehlszeile oder in einer Konfigurationsdatei angegeben werden.


ImageDer X-Server

Bei diesem Verfahren wird davon ausgegangen, dass auf dem Client, auf dem Sie die Anwendung vom Remote-Host anzeigen möchten, ein X-Server ausgeführt wird. Der Client kann eine andere Architektur und ein anderes Betriebssystem haben als der Remote-Host. Solange er einen X-Server wie Cygwin (das einen X.org-Server für MS Windows-Clients und andere implementiert) oder Exceed ausführen kann, sollte dies möglich sein um eine Remote-Verbindung mit einer beliebigen Linux- oder UNIX-Maschine einzurichten.


Image

10.4.4.3. Serverauthentifizierung


Das ssh Das Client/Server-System verwaltet und überprüft automatisch eine Datenbank mit Identifikationen für alle Hosts, mit denen es jemals verwendet wurde. Hostschlüssel werden in gespeichert $HOME/.ssh/known_hosts im Home-Verzeichnis des Benutzers. Zusätzlich die Datei /etc/ssh/ssh_known_hosts wird automatisch auf bekannte Hosts überprüft. Alle neuen Hosts werden automatisch zur Datei des Benutzers hinzugefügt. Sollte sich die Identifikation eines Hosts jemals ändern, ssh warnt davor und deaktiviert die Passwortauthentifizierung, um zu verhindern, dass ein Trojaner an das Passwort des Benutzers gelangt.

Ein weiterer Zweck dieses Mechanismus besteht darin, Man-in-the-Middle-Angriffe zu verhindern, die andernfalls zur Umgehung der Verschlüsselung genutzt werden könnten. In Umgebungen, in denen hohe Sicherheit erforderlich ist, sshd kann sogar so konfiguriert werden, dass Anmeldungen an Computern verhindert werden, deren Hostschlüssel sich geändert haben oder unbekannt sind.


Image


10.4.4.4. Sicheres Fernkopieren


Die SSH-Suite bietet scp als sichere Alternative zum rcp Befehl, der früher nur beliebt war rsh

existierte scp verwendet ssh verwendet für die Datenübertragung die gleiche Authentifizierung und bietet die gleiche Sicherheit wie ssh. nicht wie rcp, scp fragt nach Passwörtern oder Passphrasen, wenn diese zur Authentifizierung benötigt werden:


lenny /var/tmp> scp Schedule.sdc.gz blob:/var/tmp/

lenny@blobs Passwort:

Schedule.sdc.gz 100 % |******************************| 100 KB 00:00


lenny /var/tmp>

lenny /var/tmp> scp Schedule.sdc.gz blob:/var/tmp/

lenny@blobs Passwort:

Schedule.sdc.gz 100 % |******************************| 100 KB 00:00


lenny /var/tmp>

Jeder Dateiname kann eine Host- und Benutzerspezifikation enthalten, um anzugeben, dass die Datei auf/von diesem Host kopiert werden soll. Kopien zwischen zwei Remote-Hosts sind zulässig. Weitere Informationen finden Sie auf den Infoseiten.


Wenn Sie lieber eine FTP-ähnliche Schnittstelle verwenden möchten, verwenden Sie Sftp:


lenny /var/tmp> SFTP-Blob Verbindung zum Blob wird hergestellt... Passwort von lenny@blob:


sftp> cd /var/tmp


sftp> Holen Sie sich Sch*

Abrufen von /var/tmp/Schedule.sdc.gz nach Schedule.sdc.gz sftp> bye

lenny /var/tmp>

lenny /var/tmp> SFTP-Blob Verbindung zum Blob wird hergestellt... Passwort von lenny@blob:


sftp> cd /var/tmp


sftp> Holen Sie sich Sch*

Abrufen von /var/tmp/Schedule.sdc.gz nach Schedule.sdc.gz sftp> bye

lenny /var/tmp>


ImageSicheres Kopieren oder FTP-GUIs

Fühlen Sie sich mit der Befehlszeile noch nicht vertraut? Probieren Sie die Funktionen von Konqueror für sicheres Remote-Kopieren aus oder installieren Sie Putty.


Image


10.4.4.5. Authentifizierungsschlüssel


Das ssh-keygen Der Befehl generiert, verwaltet und konvertiert Authentifizierungsschlüssel für ssh. Es kann RSA-Schlüssel für die Verwendung durch SSH-Protokoll Version 1 und RSA- oder DSA-Schlüssel für die Verwendung durch SSH-Protokoll Version 2 erstellen.


Normalerweise führt jeder Benutzer, der SSH mit RSA- oder DSA-Authentifizierung verwenden möchte, dies einmal aus, um den Authentifizierungsschlüssel zu erstellen $HOME/.ssh/identity, id_dsa or id_rsa. Darüber hinaus kann der Systemadministrator damit Hostschlüssel für das System generieren.


Normalerweise generiert dieses Programm den Schlüssel und fragt nach einer Datei, in der der private Schlüssel gespeichert werden soll. Der öffentliche Schlüssel wird in einer Datei mit demselben Namen gespeichert .pub beigefügt. Das Programm fragt außerdem nach einer Passphrase. Die Passphrase kann leer sein, um anzuzeigen, dass keine Passphrase vorhanden ist (Hostschlüssel müssen eine leere Passphrase haben), oder es kann sich um eine Zeichenfolge beliebiger Länge handeln.


Es gibt keine Möglichkeit, eine verlorene Passphrase wiederherzustellen. Bei Verlust oder Vergessen der Passphrase muss ein neuer Schlüssel generiert und auf die entsprechenden öffentlichen Schlüssel kopiert werden.


In den Übungen lernen wir SSH-Schlüssel kennen. Alle Informationen finden Sie in den Man- oder Info-Seiten.


Image


Top OS Cloud Computing bei OnWorks: