LINUX

Das universelle Betriebssystem

Eine Einführung - Teil 10

Deutsche Angestellten Akademie

ssh

SSH ermöglicht eine sichere, authentifizierte und verschlüsselte Verbindung zwischen zwei Rechnern über ein unsicheres Netzwerk.

Secure System Administration (Sichere Systemverwaltung) zur Absicherung der Fernverwaltung von Servern. Secure Application Tunneling (Sicheres Tunneln) zum transparenten Schutz TCP/IP-basierender Anwendungen als „End-to-End-Security“.

Secure Remote Command Execution (Sichere Ausführung von Kommandos) zur Ausführung einzelner Kommandos auf einem anderen Rechner. Dabei werden stdin, stdout und stderr transparent weitergeleitet. Sonderfall davon:

Secure Subsystem Execution (Sichere Ausführung von Subsystemen) zur Ausführung von auf dem Server vordefinierter Kommandos, wobei stderr jedoch nicht weitergeleitet wird. Beispiel: Secure File Transfer (Sicherer Dateitransfer) zur Herstellung sicherer, automatisierter und interaktiver Dateitransfers.

Funktionsweise

  • Server identifiziert sich mit Zertifikat
  • Client authentisiert sich mit Passwort od. Zertifikat
  • geheimer Schlüssel wird erzeugt für die Sitzung
  • Datenverkehr wird mit diesem Schlüssel verschlüsselt übertragen

Programme

  • ssh -> ...
  • scp -> Dateien über ssh kopieren
  • ssh-keygen -> Schlüssel erstellen
  • ssh-copy-id -> Schlüssel austauschen
  • sshd -> der ssh-Server

Verwendung

  • systemweite client Konfiguration: /etc/ssh/ssh_config
  • ~$ ssh [ -p port ] [user@]host
  • Wird kein User angegeben, nimmt ssh aktuellen User.
  • ~$ ssh -p 1234 root@omikron.net
  • ~$ ssh ::1

Verwendung mit ssh-Keys

  1. Schlüsselpaar generieren:
    ssh-keygen -b 4096
  2. öffentlichen Schlüssel zum Server kopieren:
    scp neuer-super-key.pub user@server.de
  3. Beim Server anmelden: ssh user@server.de
  4. 
    $ mkdir ~/.ssh
    $ cat ~/neuer-super-key.pub  >> ~/.ssh/authorized_keys
    $ rm ~/neuer-super-key.pub 
    $ chmod 600 ~/.ssh/authorized_keys

nun ist Anmeldung mit Key möglich.

Begriffe

SSH Key ersetzt Passwort
authorized keys öffentliche Schlüssel die Zugriff erlauben ( Analogie: Schloß, das vom zugehörigen privaten Schl. geöffnet werden kann.)
identity key Privater Schlüssel, den SSH verwendet um den client zu authentisieren
host key öffentlicher SSH-Schlüssel des Servers
Session Key wird von den Kommunikations Partner ausgehandelt; verschlüsselt Daten während Übertragung
Aufgabe:
  • erstellt ein script, welches Serverseitig ein Datenbank und File Backup erstellt
  • erstellt ein script, welches Serverseitig ein Datenbank und File Backup erstellt
  • Erstellt ein script, welches diese Backups mit rsync herunterlädt
  • Erstellt einen Cron-Job der das wöchentlich macht

Hinweise: