From cfb8471e9338ca7710d2274a016f742f35972605 Mon Sep 17 00:00:00 2001 From: Daniel Schubert Date: Sun, 3 Feb 2019 12:02:26 +0100 Subject: [PATCH] 11 --- 11.html | 210 ++++++++++++++++++ ...oes-ssh-protocol-work-920x272-SWKuhzNV.png | Bin 0 -> 32442 bytes 2 files changed, 210 insertions(+) create mode 100644 11.html create mode 100644 img/how-does-ssh-protocol-work-920x272-SWKuhzNV.png diff --git a/11.html b/11.html new file mode 100644 index 0000000..21fc22b --- /dev/null +++ b/11.html @@ -0,0 +1,210 @@ + + + + + Einführung in Linux + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

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. +
  3. öffentlichen Schlüssel zum Server kopieren:
    scp neuer-super-key.pub user@server.de
  4. +
  5. Beim Server anmelden: ssh user@server.de
  6. +
  7. 
    +$ mkdir ~/.ssh
    +$ cat ~/neuer-super-key.pub  >> ~/.ssh/authorized_keys
    +$ rm ~/neuer-super-key.pub 
    +$ chmod 600 ~/.ssh/authorized_keys
  8. +
+ +

nun ist Anmeldung mit Key möglich. +

+ +
+

Begriffe

+ + + + + + + + + + + + + + + + + + + + + + +
SSH Keyersetzt Passwort
authorized keysöffentliche Schlüssel die Zugriff erlauben ( Analogie: Schloß, das vom zugehörigen privaten Schl. geöffnet werden kann.)
identity keyPrivater Schlüssel, den SSH verwendet um den client zu authentisieren
host keyöffentlicher SSH-Schlüssel des Servers
Session Keywird 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: + +

+ + + +
+
+ + + + + + + + diff --git a/img/how-does-ssh-protocol-work-920x272-SWKuhzNV.png b/img/how-does-ssh-protocol-work-920x272-SWKuhzNV.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb5a57e1055dc36a872db03d2598c2164113fa0 GIT binary patch literal 32442 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