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

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


  /etc/ssh/sshd_config
  /etc/ssh/sshd_config
sshd_config ist die Konfigurationsdatei von sshd, also den SSH-Server.<br>
Die Konfigurationsdatei sshd_config dient der Konfiguration von sshd, also den SSH-Server.<br>
Hier können z. B. folgende Parameter festgelegt werden:
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
Erklärung:
| | |
# sshd verwendet den Standardport 22.
* * * Als Hostkey kommen RSA, ECDSA und Ed25519 in Frage.
# Ausschließlich SSH-2-Verbindungen.
# Kein login für root.
# Zugriff auf Schnittstelle des Rechners: 192.168.0.58
# 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
In der Konfigurationsdatei ssh_config finden Sie die clientseitige Konfiguration von
Die Konfigurationsdatei ssh_config dient der clientseitigen Konfiguration von SSH.  
SSH.  


Beispiel:
z.B.
Clientseitige X11-Weiterleitung
* Clientseitige X11-Weiterleitung oder Passwortauthentifizierung
Passwortauthentifizierung
* RSA-Authentifizierung aktiv/inaktiv
RSA-Authentifizierung aktiviert
* 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