LPIC102/110.3 Daten durch Kryptografie schützen: Unterschied zwischen den Versionen
Zeile 86: | Zeile 86: | ||
/etc/ssh/sshd_config | /etc/ssh/sshd_config | ||
sshd_config | Die Konfigurationsdatei sshd_config dient der Konfiguration von sshd, also den SSH-Server.<br> | ||
z.B. | |||
Port 22 | Port 22 --------------------------------> sshd verwendet den Standardport 22. | ||
Protocol 2 | Protocol 2------------------------------> Ausschließlich SSH-2-Verbindungen. | ||
ListenAddress 192.168.0.58 | ListenAddress 192.168.0.58 -------------> Zugriff auf Schnittstelle des Rechners: 192.168.0.58 | ||
PermitRootLogin no | PermitRootLogin no ---------------------> Kein login für root. | ||
HostKey /etc/ssh/ssh_host_rsa_key | . | ||
HostKey /etc/ssh/ssh_host_ecdsa_key | .---------------------------------------> HostKey /etc/ssh/ssh_host_rsa_key | ||
HostKey /etc/ssh/ssh_host_ed25519_key | | .-------------------------------------> HostKey /etc/ssh/ssh_host_ecdsa_key | ||
| | .-----------------------------------> HostKey /etc/ssh/ssh_host_ed25519_key | |||
| | | | |||
* * * Als Hostkey kommen RSA, ECDSA und Ed25519 in Frage. | |||
Auf Schlüssel wird etwas später näher eingegangen. | Auf Schlüssel wird etwas später näher eingegangen. | ||
/etc/ssh/ssh_config | /etc/ssh/ssh_config | ||
Die Konfigurationsdatei ssh_config dient der clientseitigen Konfiguration von SSH. | |||
SSH. | |||
z.B. | |||
Clientseitige X11-Weiterleitung | * Clientseitige X11-Weiterleitung oder Passwortauthentifizierung | ||
Passwortauthentifizierung | * RSA-Authentifizierung aktiv/inaktiv | ||
RSA-Authentifizierung | * Standardport für ausgehende Verbindungen festlegen <br> | ||
Standardport für ausgehende Verbindungen | |||
Die Optionsnamen innerhalb dieser Datei sind ansonsten selbsterklärend. <br> | Die Optionsnamen innerhalb dieser Datei sind ansonsten selbsterklärend. <br> | ||
ACHTUNG! Die beiden gerade besprochenen Dateien kann man aufgrund ihrer Namensähnlichkeit schnell verwechseln. | ACHTUNG! Die beiden gerade besprochenen Dateien kann man aufgrund ihrer Namensähnlichkeit schnell verwechseln. | ||
/etc/hosts.allow und /etc/hosts.deny |
Version vom 16. Juli 2019, 12:22 Uhr
Ausführliche Informationen zur Funktionsweise von SSH werden im Artikel SSH (secure shell) erläutert.
In diesem Artikel geht es nur um LPIC prüfungsrelevante Themen zu SSH.
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
Das Paket openssh-server installiert die serverseitige Komponente von SSH.
Folgende Befehle starten unter systemd den SSH Dienst.
user:~ # systemctl start sshd.service user:~ # systemctl enable sshd.service
SSH-Client-Verbindung
Um eine Verbindung zwischen zwei Linux-Systemen aufzubauen, startet man ssh und übergibt den Host-Namen bzw. die IP-Adresse.
Anschliessend folgt die Eingabe eines Kennwortes:
user:~ # ssh server root@server's password:
Möchte man sich nicht mit seinem lokalen Benutzerkonto anmelden, gibt es zwei Wege:
user:~ # ssh -l willi server user:~ # ssh willi@server
Grafische Anwendungen unter X tunneln
Zuerst wird die SSH-Verbindung von einem X-Terminal aus mit der zusätzlichen Option -X (großes X) initiiert.
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 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 an 192.168.50.10:3389 weitergeleitet.
Terminal-Dienste-Clients (z. B. remmina) nutzen nun als Ziel localhost:4711
Hinweis
Auch vom Windows-Computer aus kann mittels PuTTy auf einen Linux-Host zugegriffen werden.
Läuft ein X-Server auf dem Windows-Computer (z. B. Xming oder Cygwin), ist auch das Tunneln von Ports inklusive X11 durchführbar.
Wiki Artikel zu PuTTy
PuTTY - ein freier SSH-Client
SSH-Konfigurationsdateien
/etc/ssh/sshd_config
Die Konfigurationsdatei sshd_config dient der Konfiguration von sshd, also den SSH-Server.
z.B.
Port 22 --------------------------------> sshd verwendet den Standardport 22. Protocol 2------------------------------> Ausschließlich SSH-2-Verbindungen. ListenAddress 192.168.0.58 -------------> Zugriff auf Schnittstelle des Rechners: 192.168.0.58 PermitRootLogin no ---------------------> Kein login für root. . .---------------------------------------> HostKey /etc/ssh/ssh_host_rsa_key | .-------------------------------------> HostKey /etc/ssh/ssh_host_ecdsa_key | | .-----------------------------------> HostKey /etc/ssh/ssh_host_ed25519_key | | | * * * Als Hostkey kommen RSA, ECDSA und Ed25519 in Frage.
Auf Schlüssel wird etwas später näher eingegangen.
/etc/ssh/ssh_config
Die Konfigurationsdatei ssh_config dient der clientseitigen Konfiguration von SSH.
z.B.
- Clientseitige X11-Weiterleitung oder Passwortauthentifizierung
- RSA-Authentifizierung aktiv/inaktiv
- Standardport für ausgehende Verbindungen festlegen
Die Optionsnamen innerhalb dieser Datei sind ansonsten selbsterklärend.
ACHTUNG! Die beiden gerade besprochenen Dateien kann man aufgrund ihrer Namensähnlichkeit schnell verwechseln.
/etc/hosts.allow und /etc/hosts.deny