LPIC102/110.3 Daten durch Kryptografie schützen: Unterschied zwischen den Versionen

Aus Foxwiki
Meikschwalm (Diskussion | Beiträge)
Meikschwalm (Diskussion | Beiträge)
Zeile 89: Zeile 89:


  /etc/ssh/sshd_config
  /etc/ssh/sshd_config
Die Datei sshd_config wird für die Konfiguration von sshd, also den SSH-Server, verwendet. Hier können z. B. folgende Parameter festgelegt werden:
Die Datei sshd_config wird für die Konfiguration von sshd, also den SSH-Server, verwendet.  
Hier können z. B. folgende Parameter festgelegt werden:


* Port 22
* Port 22
Zeile 98: Zeile 99:
* HostKey /etc/ssh/ssh_host_ecdsa_key
* HostKey /etc/ssh/ssh_host_ecdsa_key
* HostKey /etc/ssh/ssh_host_ed25519_key
* HostKey /etc/ssh/ssh_host_ed25519_key
In diesem Beispiel verwendet der sshd den Standardport 22.
Es können ausschließlich SSH-2-Verbindungen hergestellt werden.
Sicherheitshalber kann sich root nicht direkt einloggen.
Der Zugriff ist auf die interne Schnittstelle des Rechners 192.168.0.58 beschränkt.
Als Hostkey kommen RSA, ECDSA und Ed25519 in Frage.
Auf Schlüssel wird etwas später näher eingegangen.

Version vom 12. Juli 2019, 12:42 Uhr

Wichtigste Wissensgebiete

  • einen OpenSSH-2-Client grundlegend konfigurieren und verwenden
  • die Rolle von OpenSSH-2-Rechnerschlüsseln verstehen
  • GnuPG grundlegend konfigurieren und verwenden
  • GPG verwenden um Dateien zu verschlüsseln, entschlüsseln, signieren und zu überprüfen
  • SSH-Port-Tunnel (auch X11-Tunnel) verstehen

Liste wichtiger Dateien, Verzeichnisse und Anwendungen

  • ssh
  • ssh-keygen
  • ssh-agent
  • ssh-add
  • ~/.ssh/id_rsa und id_rsa.pub
  • ~/.ssh/id_dsa und id_dsa.pub
  • ~/.ssh/id_ecdsa und id_ecdsa.pub
  • ~/.ssh/id_ed25519 und id_ed25519.pub
  • /etc/ssh/ssh_host_rsa_key und ssh_host_rsa_key.pub
  • /etc/ssh/ssh_host_dsa_key und ssh_host_dsa_key.pub
  • /etc/ssh/ssh_host_ecdsa_key und ssh_host_ecdsa_key.pub
  • /etc/ssh/ssh_host_ed25519_key und ssh_host_ed25519_key.pub
  • ~/.ssh/authorized_keys
  • ssh_known_hosts
  • gpg
  • gpg-agent
  • ~/.gnupg/

SSH verwenden

Die serverseitige Komponente von SSH lässt sich mit dem Paket openssh-server installieren. Ist systemd zuständig, führen Sie falls nötig die folgenden beiden Kommandos aus um den SSH Dienst zu starten:

user:~ # systemctl start sshd.service
user:~ # systemctl enable sshd.service

Hinweis
Zwar unterstützt sshd die Verwendung eines TCP-Wrappers und ist auch von inetd bzw. xinetd aus startbar, aber diese Vorgehensweise wird nicht empfohlen.

SSH-Client-Verbindung

Um eine Verbindung von einem Linux-System zu einem anderen aufzubauen, startet man ssh und übergibt den Host-Namen bzw. die IP-Adresse. Dann wird man zur Eingabe eines Kennwortes aufgefordert:

user:~ # ssh server
root@server's password:

Um sich nicht mit dem gleichen Benutzerkonto anmelden zu müssen, das man derzeit lokal verwendet, gibt es zwei Wege einen alternativen Benutzer anzugeben:

user:~ # ssh -l willi server
user:~ # ssh willi@server

Grafische Anwendungen unter X tunneln

Zuerst wird die SSH-Verbindung von einem X-Terminal aus initiiert.

Verbindung zusätzlich mit der Option –X initiieren (großes X).

user:~ # ssh -l willi -X server

Auf der Konsole des Remote-Systems führt man die Anwendung aus:

willi@server's password: 
willi@server:~ # openoffice

Die Anwendung führt das entfernte System aus, die grafische Ausgabe und die Bedienung erfolgt lokal am SSH-Client-Rechner.
Das hier beschriebene Verfahren wird als X11-Tunnel bezeichnet.

Weiterleitung anderer Ports durch einen SSH-Tunnel.

Als Beispiel der Zugriff auf einen Terminalserver im entfernten Netzwerk, hinter einem SSH-Server.

IP-Adresse des Terminalservers 192.168.50.10
Terminalserver lauscht an Port 3389
IP des SSH-Server 119.117.63.126

Zunächst wird die SSH-Verbindung initiiert:

archangel:~ # ssh 119.117.63.126 -L 4711:192.168.50.10:3389

Option -L leitet Port 4711 an 192.168.50.10 mit Portnummer 3389 weiter. Verbindungen werden nun an 192.168.50.10:3389 weitergeleitet. Terminal-Dienste-Clients (z. B. remmina) nutzen nun als Ziel localhost:4711


Hinweis
Wenn Sie von einem Windows-Computer aus auf einen Linux-Host zugreifen wollen, kommt das frei verfügbare SSH-Client-Programm putty zum Einsatz. Das Tunneln von Ports inklusive X11 ist auch mit putty durchführbar. Voraussetzung hierfür ist, dass auf dem Windows-Computer ein X-Server läuft (z. B. Xming oder Cygwin).
PuTTY - ein freier SSH-Client

SSH-Konfigurationsdateien

/etc/ssh/sshd_config

Die Datei sshd_config wird für die Konfiguration von sshd, also den SSH-Server, verwendet. Hier können z. B. folgende Parameter festgelegt werden:

  • Port 22
  • Protocol 2
  • ListenAddress 192.168.0.58
  • PermitRootLogin no
  • HostKey /etc/ssh/ssh_host_rsa_key
  • HostKey /etc/ssh/ssh_host_ecdsa_key
  • HostKey /etc/ssh/ssh_host_ed25519_key

In diesem Beispiel verwendet der sshd den Standardport 22. Es können ausschließlich SSH-2-Verbindungen hergestellt werden. Sicherheitshalber kann sich root nicht direkt einloggen. Der Zugriff ist auf die interne Schnittstelle des Rechners 192.168.0.58 beschränkt. Als Hostkey kommen RSA, ECDSA und Ed25519 in Frage. Auf Schlüssel wird etwas später näher eingegangen.