Aus LinuxUser 11/2017

Die Secure Shell im praktischen Einsatz (Seite 2)

$ ssh-copy-id User@Host

Abbildung 2 zeigt den Ablauf. Den Rechner identifizieren Sie dabei wahlweise über den Namen oder die IP-Adresse. Nachdem im Beispiel zum ersten Mal eine Verbindung zustande kam, sehen Sie die Frage, ob Sie den Schlüssel der Gegenseite akzeptieren möchten.

Abbildung 2: Mit dem Befehl <code>ssh-copy-id</code> &uuml;bertragen Sie bei Bedarf einen Schl&uuml;ssel auf das Zielsystem.
Abbildung 2: Mit dem Befehl ssh-copy-id übertragen Sie bei Bedarf einen Schlüssel auf das Zielsystem.

Eine weitere Möglichkeit besteht darin, per SFTP den öffentlichen Schlüssel auf das Zielsystem zu übertragen und mittels cat id_rsa.pub >> .ssh/authorized_keys an die Datei .ssh/authorized_keys anzuhängen. Beachten Sie dabei, unbedingt das Zeichen für die Standardausgabe doppelt zu verwenden, sonst überschreiben Sie die Datei.

Haben Sie einen Schlüssel geändert, entfernen Sie den nicht mehr zutreffenden Eintrag aus der Datei known_hosts mit dem Kommando ssh-keygen -R Rechner in einem Terminal (Abbildung 3).

Abbildung 3: &Auml;ndern Sie einen Schl&uuml;ssel, entfernen Sie den alten f&uuml;r den entsprechenden Rechner mit einem einfachen Befehl.
Abbildung 3: Ändern Sie einen Schlüssel, entfernen Sie den alten für den entsprechenden Rechner mit einem einfachen Befehl.

Verbindungen speichern

Für immer wieder benötigte Verbindungen legen Sie in der Datei .ssh/config bei Bedarf Aliase für den vereinfachten Aufruf an. Listing 1 zeigt ein Beispiel dazu für den Benutzer hz auf einer Maschine im lokalen Netz.

Listing 1

Host artikel
  HostName 192.168.0.82
  User hz
  CheckHostIP no

In Abbildung 4 sehen Sie das Anmelden am lokalen System und anschließend den Zugriff per Alias und sowie Schlüssel ohne Kennwort auf ein anderes Zielsystem. Mit exit oder [Strg]+[D] melden Sie sich vom entfernten Rechner wieder ab.

Abbildung 4: Aliase f&uuml;r die Verbindung erleichtern das Anmelden am entfernten Rechner, wenn dort ein anderes Benutzerkonto im Einsatz ist.
Abbildung 4: Aliase für die Verbindung erleichtern das Anmelden am entfernten Rechner, wenn dort ein anderes Benutzerkonto im Einsatz ist.

Sie haben die Möglichkeit, eine Sitzung als vollwertige Shell zu nutzen, oder Sie setzen nur ein Kommando ab. Nach dessen Ausführung beendet sich die Verbindung automatisch (Abbildung 5).

Abbildung 5: Brauchen Sie keine komplette Session, f&uuml;hren Sie mittels Ssh nur ein einzelnes Kommando auf dem Zielsystem aus.
Abbildung 5: Brauchen Sie keine komplette Session, führen Sie mittels Ssh nur ein einzelnes Kommando auf dem Zielsystem aus.

Display umleiten

Arbeiten Sie an einem Linux-PC, steht Ihnen die Möglichkeit offen, mittels Ssh Programme mit grafischer Oberfläche am entfernten Rechner zu starten und deren Ausgabe umzuleiten. Dazu nutzen Sie die Ssh-Option -Y. Bei langsamen Netzwerkverbindungen, etwa über das Internet, schalten Sie zudem mit -C die Datenkompression ein, um Latenzen zu verringern.

Auch hier funktionieren Aliase und der Einsatz von Schlüsseln beim Anmelden. Im Beispiel aus Abbildung 6 startet der Texteditor Gedit auf dem entfernten System. Damit Sie das Terminal nicht mit dem Programm blockieren, starten Sie es durch Anhängen eines Kaufmannsund-Zeichens („Ampersand“) im Hintergrund. Das gezeigte Umleiten der Standardausgabe für Fehler nach /dev/null unterdrückt diverse Debug-Meldungen am Terminal.

Abbildung 6: Ssh bietet eine M&ouml;glichkeit, GUI-Programm auf dem entfernten System zu starten und die Ausgabe &uuml;ber eine sichere Leitung auf den eigenen Bildschirm umzuleiten.
Abbildung 6: Ssh bietet eine Möglichkeit, GUI-Programm auf dem entfernten System zu starten und die Ausgabe über eine sichere Leitung auf den eigenen Bildschirm umzuleiten.

Daten übertragen

Zum Übertragen von Daten integrieren Sie Ssh bei Bedarf in eine Pipe. Im Zusammenspiel mit Tar kopieren Sie so komplette Verzeichnisbäume über das Netzwerk (Listing 2). Hier beschleunigt unter Umständen eine Komprimierung (-C) den Vorgang. So gehen Sie auch bei anderen Befehlen vor, wie etwa bei Dd. Wie es in der Praxis mit Tar funktioniert, zeigt Abbildung 7.

Listing 2

# Dateien hochladen
$ tar czvf - Ordner | ssh User@Host 'cd Ordner && tar xzpvf -'
# Dateien herunterladen
$ ssh User@Host 'cd Pfad && tar czfv - Ordner' | tar xzfv -
Abbildung 7: In Kombination mit einem Tool wie Tar kopieren Sie einen Verzeichnisbaum auf einen entfernten Rechner oder von diesem auf den lokalen.
Abbildung 7: In Kombination mit einem Tool wie Tar kopieren Sie einen Verzeichnisbaum auf einen entfernten Rechner oder von diesem auf den lokalen.

Mit dem Befehl Scp steht ein verschlüsselndes, mit dem normalen Cp verwandtes Kommando bereit, das sich an den Remote-Copy-Befehl rcp von BSD anlehnt. Allerdings stellt Scp zusätzlich SSH-spezifische Optionen bereit (siehe Tabelle „Scp: Optionen“).

Syntax

Hinweis

-C

Kompression benutzen

-F Datei

abweichende Konfigurationsdatei

-i Datei

Datei mit privatem Schlüssel

-l Wert

Bandbreite drosseln (Angabe in kbit/s)

-o Option

SSH-Optionen

-P Port

abweichender Port

-p

Dateiattribute übertragen

-q

Meldungen einschränken

-r

rekursiv kopieren, Symlinks folgen

-v

ausführliche Meldungen

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
KAUFEN
LinuxUser 11/2017 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: