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

Aus Foxwiki
Meikschwalm (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „==Wichtigste Wissensgebiete== * einen OpenSSH-2-Client grundlegend konfigurieren und verwenden * die Rolle von OpenSSH-2-Rechnerschlüsseln verstehen * GnuPG…“
 
K Textersetzung - „Kurzbeschreibung“ durch „Beschreibung“
 
(210 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Wichtigste Wissensgebiete==
'''topic''' - Beschreibung
 
== Beschreibung ==
* einen OpenSSH-2-Client grundlegend konfigurieren und verwenden
=== Wissensgebiete ===
* die Rolle von OpenSSH-2-Rechnerschlüsseln verstehen
* OpenSSH-2-Client grundlegend konfigurieren und verwenden
* Bedeutung von OpenSSH-2-Rechnerschlüsseln verstehen
* GnuPG grundlegend konfigurieren und verwenden
* GnuPG grundlegend konfigurieren und verwenden
* GPG verwenden um Dateien zu verschlüsseln, entschlüsseln, signieren und zu überprüfen
* 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 ===
==Liste wichtiger Dateien, Verzeichnisse und 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/authorized_keys
* ssh_known_hosts
* gpg
* gpg-agent
* ~/.gnupg/


== 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.&nbsp;B.&nbsp;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.&nbsp;B.&nbsp;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


==Allgemeines==
; /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


Damit Sie einen Linux-Computer remote administrieren können, benötigen Sie eine
; /etc/nologin
Zugriffsmöglichkeit auf eine Shell. SSH bietet Verschlüsselung und gilt bis
* Mit dem erstellen einer leeren Datei namens /etc/nologin lässt sich der Zugriff auf SSH verhindern
heute als sicher.
* Nur root kann sich dann noch am System anmelden
Abgesehen von der Möglichkeit des Fernzugriffs auf Konsolen können per SSH Daten transferiert werden.
* In dieser Datei kann auch eine Nachricht an Benutzer hinterlassen werden die sich lokal anmelden wollen
Auf der Konsole können Sie dazu das Kommando scp verwenden und in grafischen Umgebungen z. B. FileZilla.
Selbst VPNs sind mit SSH realisierbar.




==SSH verwenden==


Sollte die serverseitige Komponente von SSH nicht installiert sein, suchen Sie nach
<noinclude>
dem Paket openssh-server und installieren Sie es.
Davon ausgehend, dass auf Ihrem Computer systemd zuständig ist, führen Sie falls nötig die folgenden beiden Kommandos aus:
archangel:~ # systemctl start sshd.service
archangel:~ # systemctl enable sshd.service
Zwar unterstützt sshd die Verwendung eines TCP-Wrappers und ist auch von inetd
bzw. xinetd aus startbar, aber diese Vorgehensweise wird nicht empfohlen.


== 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/


==SSH-Client-Verbindung==
==== Links ====
===== Weblinks =====


Wenn eine Verbindung von einem Linux-System zu einem anderen aufgebaut werden soll, starten Sie einfach ssh und übergeben den Host-Namen bzw. die IP-Adresse.
[[Kategorie:Linux/LPIC/102]]
Sie werden dann zur Eingabe eines Kennwortes aufgefordert:
[[Kategorie:Kryptografie/Anwendung]]
archangel:~ # ssh ubuntu-server
[[Kategorie:SSH]]
root@ubuntu-server's password:
</noinclude>
Sollten Sie sich an der entfernten Maschine nicht mit dem gleichen Benutzerkonto anmelden wollen, das Sie derzeit lokal verwenden, gibt es zwei Wege, einen alternativen Benutzer anzugeben:
archangel:~ # ssh -l willi ubuntu-server
archangel:~ # ssh willi@ubuntu-server
Sie können über diese Verbindung auch grafische Anwendungen, die unter X laufen,tunneln.
Das setzt allerdings voraus, dass Sie die SSH-Verbindung von einem X-Terminal aus initiieren, damit ein Display für die Anwendung auf dem Rechner verfügbar ist, an dem Sie sitzen.
Es ist sehr einfach, eine solche Anwendung zu tunneln.
Initiieren Sie die Verbindung einfach zusätzlich mit der Option –X (großes X). Auf der
erscheinenden Konsole des Remote-Systems führen Sie die Anwendung dann ein-
fach aus:
archangel:~ # ssh -l willi -X ubuntu-server
willi@ubuntu-server's password:
willi@ubuntu-server:~ # openoffice

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


Links

Weblinks