LPIC102/110.3 Daten durch Kryptografie schützen: Unterschied zwischen den Versionen
K Textersetzung - „Kurzbeschreibung“ durch „Beschreibung“ |
|||
(96 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''topic''' - Beschreibung | |||
== Beschreibung == | |||
== | === Wissensgebiete === | ||
* OpenSSH-2-Client grundlegend konfigurieren und verwenden | |||
* | * Bedeutung von OpenSSH-2-Rechnerschlüsseln verstehen | ||
* | |||
* GnuPG grundlegend konfigurieren und verwenden | * GnuPG grundlegend konfigurieren und verwenden | ||
* | * GnuPG verwenden um Dateien zu verschlüsseln, entschlüsseln, signieren und zu überprüfen | ||
* SSH-Port-Tunnel (auch X11-Tunnel) verstehen | * SSH-Port-Tunnel (auch X11-Tunnel) verstehen | ||
== | === Dateien, Verzeichnisse, Anwendungen === | ||
==== Anwendungen ==== | |||
* ssh | * ssh | ||
* ssh-keygen | * ssh-keygen | ||
* ssh-agent | * ssh-agent | ||
* ssh-add | * ssh-add | ||
==== Dateien ==== | |||
; User | |||
* ~/.ssh/authorized_keys | |||
* ~/.ssh/id_rsa und id_rsa.pub | * ~/.ssh/id_rsa und id_rsa.pub | ||
* ~/.ssh/id_dsa und id_dsa.pub | * ~/.ssh/id_dsa und id_dsa.pub | ||
* ~/.ssh/id_ecdsa und id_ecdsa.pub | * ~/.ssh/id_ecdsa und id_ecdsa.pub | ||
* ~/.ssh/id_ed25519 und id_ed25519.pub | * ~/.ssh/id_ed25519 und id_ed25519.pub | ||
; System | |||
* /etc/ssh/ssh_host_rsa_key und ssh_host_rsa_key.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_dsa_key und ssh_host_dsa_key.pub | ||
* /etc/ssh/ssh_host_ecdsa_key und ssh_host_ecdsa_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 | * /etc/ssh/ssh_host_ed25519_key und ssh_host_ed25519_key.pub | ||
== SSH == | |||
=== Server === | |||
; Das Paket ''openssh-server'' installiert die serverseitige Komponente von SSH | |||
; SSH Dienst starten mit [[systemd]] | |||
== | |||
Das Paket openssh-server installiert die serverseitige Komponente von SSH | |||
# systemctl start sshd.service | # systemctl start sshd.service | ||
# systemctl enable sshd.service | # systemctl enable sshd.service | ||
== | === Client === | ||
* Die Verbidung startet ssh | |||
Anschliessend folgt die Eingabe | * Host-Namen bzw. die IP-Adresse wird angegeben | ||
* Anschliessend folgt die Eingabe des Kennwortes | |||
$ ssh server | $ ssh server | ||
root@server's password: | root@server's password: | ||
* Zwei Wege um sich mit einem alternativen Benutzerkonto anzumelden | |||
$ ssh -l willi server | $ ssh -l willi server | ||
$ ssh willi@server | $ ssh willi@server | ||
===Grafische Anwendungen unter X tunneln=== | ==== Grafische Anwendungen unter X tunneln ==== | ||
* SSH-Verbindung wird von einem X-Terminal aus mit der zusätzlichen Option -X (großes X) initiiert | |||
$ ssh -X server | |||
$ ssh | |||
* Auf der Konsole des Remote-Systems führt man die Anwendung aus | |||
$ libreoffice | |||
* Grafische Ausgabe und Bedienung erfolgt lokal am SSH-Client-Rechner | |||
* Das hier beschriebene Verfahren wird als X11-Tunnel bezeichnet | |||
Als Beispiel, der Zugriff auf einen Terminalserver im entfernten Netzwerk hinter einem SSH-Server. | ==== 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 | |||
$ '''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<br> | |||
; Hinweis | |||
: Auch vom Windows-Computer aus kann mittels PuTTy auf einen Linux-Host zugegriffen werden <br> | |||
Läuft ein X-Server auf dem Windows-Computer (z. B. Xming oder Cygwin), ist auch das Tunneln von Ports inklusive X11 durchführbar | |||
=== Konfigurationsdateien === | |||
; /etc/ssh/sshd_config | |||
* Die Konfigurationsdatei sshd_config dient der Konfiguration von sshd, also den SSH-Server | |||
== | |||
Die Konfigurationsdatei sshd_config dient der Konfiguration von sshd, also den SSH-Server | |||
Port 22 | Port 22 | ||
Zeile 94: | Zeile 86: | ||
HostKey /etc/ssh/ssh_host_ed25519_key | HostKey /etc/ssh/ssh_host_ed25519_key | ||
; Erläuterung | |||
* sshd verwendet den Standardport 22 | |||
* Ausschließlich SSH-2-Verbindungen | |||
* Zugriff auf Schnittstelle des Rechners: 192.168.0.58 | |||
* Kein login für root | |||
* Als Hostkey kommen RSA, ECDSA und Ed25519 in Frage | |||
; Hinweis | |||
: Auf die Authentifizierung mit Schlüsseln und ssh_known_hosts Datei wird später näher eingegangen | |||
; /etc/ssh/ssh_config | |||
Konfiguration des SSH-Clients | |||
* Clientseitige X11-Weiterleitung oder Passwortauthentifizierung | * Clientseitige X11-Weiterleitung oder Passwortauthentifizierung | ||
* RSA-Authentifizierung aktiv | * RSA-Authentifizierung aktiv | ||
* Standardport für ausgehende Verbindungen festlegen | * Standardport für ausgehende Verbindungen festlegen | ||
* Die Optionsnamen innerhalb dieser Datei sind ansonsten selbsterklärend oder in der Manpage nachzuschlagen | |||
Die Optionsnamen innerhalb dieser Datei sind ansonsten selbsterklärend oder in der Manpage nachzuschlagen | * Die beiden gerade besprochenen Dateien kann man aufgrund ihrer Namensähnlichkeit schnell verwechseln | ||
; /etc/hosts.allow und /etc/hosts.deny | |||
* Die Dateien steuern wie die oben beschriebenen Dateien, den Zugriff auf SSH | |||
* ''hosts.allow'' hat Vorrang vor der Datei ''hosts.deny | |||
* Wird einem Host der Zugriff auf SSH durch ''hosts.allow'' gewährt, kann das durch keinen Eintrag in hosts.deny zurückgenommen werden | |||
; /etc/nologin | |||
* Mit dem erstellen einer leeren Datei namens /etc/nologin lässt sich der Zugriff auf SSH verhindern | |||
* Nur root kann sich dann noch am System anmelden | |||
* In dieser Datei kann auch eine Nachricht an Benutzer hinterlassen werden die sich lokal anmelden wollen | |||
<noinclude> | |||
= | == Anhang == | ||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | |||
---- | |||
* [[LPIC102/110.3 SSH Authentifizierung mit Schlüsseln|110.3 SSH Authentifizierung mit Schlüsseln]] | |||
* [[Putty|PuTTY - ein freier SSH-Client]] | |||
* ssh_known_hosts | |||
* gpg | |||
* gpg-agent | |||
* ~/.gnupg/ | |||
==== Links ==== | |||
===== Weblinks ===== | |||
[[ | [[Kategorie:Linux/LPIC/102]] | ||
[[Kategorie:Kryptografie/Anwendung]] | |||
[[Kategorie:SSH]] | |||
</noinclude> |
Aktuelle Version vom 19. Oktober 2024, 13:35 Uhr
topic - Beschreibung
Beschreibung
Wissensgebiete
- OpenSSH-2-Client grundlegend konfigurieren und verwenden
- Bedeutung von OpenSSH-2-Rechnerschlüsseln verstehen
- GnuPG grundlegend konfigurieren und verwenden
- GnuPG verwenden um Dateien zu verschlüsseln, entschlüsseln, signieren und zu überprüfen
- SSH-Port-Tunnel (auch X11-Tunnel) verstehen
Dateien, Verzeichnisse, Anwendungen
Anwendungen
- ssh
- ssh-keygen
- ssh-agent
- ssh-add
Dateien
- User
- ~/.ssh/authorized_keys
- ~/.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
- System
- /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
Server
- Das Paket openssh-server installiert die serverseitige Komponente von SSH
- SSH Dienst starten mit systemd
# systemctl start sshd.service # systemctl enable sshd.service
Client
- Die Verbidung startet ssh
- Host-Namen bzw. die IP-Adresse wird angegeben
- Anschliessend folgt die Eingabe des Kennwortes
$ ssh server root@server's password:
- Zwei Wege um sich mit einem alternativen Benutzerkonto anzumelden
$ ssh -l willi server $ ssh willi@server
Grafische Anwendungen unter X tunneln
- SSH-Verbindung wird von einem X-Terminal aus mit der zusätzlichen Option -X (großes X) initiiert
$ ssh -X server
- Auf der Konsole des Remote-Systems führt man die Anwendung aus
$ libreoffice
- Grafische Ausgabe und 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
$ 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
Konfigurationsdateien
- /etc/ssh/sshd_config
- Die Konfigurationsdatei sshd_config dient der Konfiguration von sshd, also den SSH-Server
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
- Erläuterung
- sshd verwendet den Standardport 22
- Ausschließlich SSH-2-Verbindungen
- Zugriff auf Schnittstelle des Rechners: 192.168.0.58
- Kein login für root
- Als Hostkey kommen RSA, ECDSA und Ed25519 in Frage
- Hinweis
- Auf die Authentifizierung mit Schlüsseln und ssh_known_hosts Datei wird später näher eingegangen
- /etc/ssh/ssh_config
Konfiguration des SSH-Clients
- Clientseitige X11-Weiterleitung oder Passwortauthentifizierung
- RSA-Authentifizierung aktiv
- Standardport für ausgehende Verbindungen festlegen
- Die Optionsnamen innerhalb dieser Datei sind ansonsten selbsterklärend oder in der Manpage nachzuschlagen
- Die beiden gerade besprochenen Dateien kann man aufgrund ihrer Namensähnlichkeit schnell verwechseln
- /etc/hosts.allow und /etc/hosts.deny
- Die Dateien steuern wie die oben beschriebenen Dateien, den Zugriff auf SSH
- hosts.allow hat Vorrang vor der Datei hosts.deny
- Wird einem Host der Zugriff auf SSH durch hosts.allow gewährt, kann das durch keinen Eintrag in hosts.deny zurückgenommen werden
- /etc/nologin
- Mit dem erstellen einer leeren Datei namens /etc/nologin lässt sich der Zugriff auf SSH verhindern
- Nur root kann sich dann noch am System anmelden
- In dieser Datei kann auch eine Nachricht an Benutzer hinterlassen werden die sich lokal anmelden wollen
Anhang
Siehe auch
- 110.3 SSH Authentifizierung mit Schlüsseln
- PuTTY - ein freier SSH-Client
- ssh_known_hosts
- gpg
- gpg-agent
- ~/.gnupg/