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

Aus Foxwiki
K Textersetzung - „Kurzbeschreibung“ durch „Beschreibung“
 
(64 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
==SSH Daemon==
'''topic''' - Beschreibung
* Das Paket ''openssh-server'' installiert die serverseitige Komponente von SSH
== Beschreibung ==
* Folgende Befehle starten unter systemd den SSH Dienst
=== 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 start sshd.service
  # systemctl enable sshd.service
  # systemctl enable sshd.service


==SSH-Client==
=== Client ===
* Die Verbidung startet ssh
* Die Verbidung startet ssh
* Host-Namen bzw. die IP-Adresse wird angegeben
* Host-Namen bzw. die IP-Adresse wird angegeben
* Anschliessend folgt die Eingabe des Kennwortes
* Anschliessend folgt die Eingabe des Kennwortes
  $ ssh server
  $ ssh server
Zeile 16: Zeile 47:
  $ 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-Verbindung wird von einem X-Terminal aus mit der zusätzlichen Option -X (großes X) initiiert
  $ ssh -X server
  $ ssh -X server


* Auf der Konsole des Remote-Systems führt man die Anwendung aus
* Auf der Konsole des Remote-Systems führt man die Anwendung aus
 
  $ libreoffice
  user@server:~ $ libreoffice


* Grafische Ausgabe und Bedienung erfolgt lokal am SSH-Client-Rechner
* Grafische Ausgabe und Bedienung erfolgt lokal am SSH-Client-Rechner
* Das hier beschriebene Verfahren wird als X11-Tunnel bezeichnet
* Das hier beschriebene Verfahren wird als X11-Tunnel bezeichnet


===Weiterleitung anderer Ports durch einen SSH-Tunnel===
==== Weiterleitung anderer Ports durch einen SSH-Tunnel ====
 
* Als Beispiel, der Zugriff auf einen Terminalserver im entfernten Netzwerk hinter einem SSH-Server
* Als Beispiel, der Zugriff auf einen Terminalserver im entfernten Netzwerk hinter einem SSH-Server
 
* IP-Adresse des Terminalservers 192.168.50.10
* IP-Adresse des Terminalservers 192.168.50.10<br>
* Terminalserver lauscht an Port 3389
* Terminalserver lauscht an Port 3389<br>
* IP des SSH-Server 119.117.63.126
* IP des SSH-Server 119.117.63.126


* Zunächst wird die SSH-Verbindung initiiert
Zunächst wird die SSH-Verbindung initiiert
 
  $ '''ssh 119.117.63.126 -L 4711:192.168.50.10:3389'''
  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
* Option -L leitet Port 4711 an 192.168.50.10 mit Portnummer 3389 weiter
* Verbindungen werden an 192.168.50.10:3389 weitergeleitet
* Verbindungen werden an 192.168.50.10:3389 weitergeleitet
* Terminal-Dienste-Clients (z. B. remmina) nutzen nun als Ziel localhost:4711<br>
* Terminal-Dienste-Clients (z.&nbsp;B.&nbsp;remmina) nutzen nun als Ziel localhost:4711<br>


'''Hinweis'''<br>
; Hinweis
Auch vom Windows-Computer aus kann mittels PuTTy auf einen Linux-Host zugegriffen werden <br>
: 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<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


#WEITERLEITUNG [[PuTTY - ein freier SSH-Client]]
=== Konfigurationsdateien ===
 
; /etc/ssh/sshd_config
==SSH-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


Zeile 64: Zeile 86:
  HostKey /etc/ssh/ssh_host_ed25519_key
  HostKey /etc/ssh/ssh_host_ed25519_key


Erläuterung:
; Erläuterung
 
* sshd verwendet den Standardport 22
* sshd verwendet den Standardport 22.
* Ausschließlich SSH-2-Verbindungen
* Ausschließlich SSH-2-Verbindungen.
* Zugriff auf Schnittstelle des Rechners: 192.168.0.58
* Zugriff auf Schnittstelle des Rechners: 192.168.0.58
* Kein login für root.
* Kein login für root
* Als Hostkey kommen RSA, ECDSA und Ed25519 in Frage.
* Als Hostkey kommen RSA, ECDSA und Ed25519 in Frage
 
'''Hinweis'''<br>
Auf die Authentifizierung mit Schlüsseln und ssh_known_hosts Datei wird später näher eingegangen
<br>


; Hinweis
: Auf die Authentifizierung mit Schlüsseln und ssh_known_hosts Datei wird später näher eingegangen


''/etc/ssh/ssh_config''
; /etc/ssh/ssh_config
* Die Konfigurationsdatei ssh_config
Konfiguration des SSH-Clients
* Sie dient der clientseitigen Konfiguration von SSH
* Clientseitige X11-Weiterleitung oder Passwortauthentifizierung
 
* RSA-Authentifizierung aktiv
z.B.
* Standardport für ausgehende Verbindungen festlegen
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 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
* Die beiden gerade besprochenen Dateien kann man aufgrund ihrer Namensähnlichkeit schnell verwechseln
<br>


 
; /etc/hosts.allow und /etc/hosts.deny
''/etc/hosts.allow'' und ''/etc/hosts.deny''
* Die Dateien steuern wie die oben beschriebenen Dateien, den Zugriff auf SSH
 
* Die beiden Dateien steuern wie die oben beschriebenen Dateien, den Zugriff auf SSH
* ''hosts.allow'' hat Vorrang vor der Datei ''hosts.deny
* ''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
* Wird einem Host der Zugriff auf SSH durch ''hosts.allow'' gewährt, kann das durch keinen Eintrag in hosts.deny zurückgenommen werden
<br>
''/etc/nologin''


; /etc/nologin
* Mit dem erstellen einer leeren Datei namens /etc/nologin lässt sich der Zugriff auf SSH verhindern
* 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
* 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
* In dieser Datei kann auch eine Nachricht an Benutzer hinterlassen werden die sich lokal anmelden wollen


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


* ssh
== Anhang ==
* ssh-keygen
=== Siehe auch ===
* ssh-agent
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
* ssh-add
----
* ~/.ssh/id_rsa und id_rsa.pub
* [[LPIC102/110.3 SSH Authentifizierung mit Schlüsseln|110.3 SSH Authentifizierung mit Schlüsseln]]
* ~/.ssh/id_dsa und id_dsa.pub
* [[Putty|PuTTY - ein freier SSH-Client]]
* ~/.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
* ssh_known_hosts
* gpg
* gpg
* gpg-agent
* gpg-agent
* ~/.gnupg/
* ~/.gnupg/
<br>#WEITERLEITUNG [[110.3 SSH Authentifizierung mit Schlüsseln]]
=Quellenangaben=


==== Links ====
===== Weblinks =====


[[Category:Linux]]
[[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


Links

Weblinks