|
|
Zeile 39: |
Zeile 39: |
|
| |
|
| = TMP = | | = TMP = |
| == SSH ==
| |
| === 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
| |
|
| |
| ===SSH-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<br>
| |
| * Terminalserver lauscht an Port 3389<br>
| |
| * 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
| |
|
| |
| 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
| |
|
| |
| [[Kategorie:Linux/LPIC/102]] | | [[Kategorie:Linux/LPIC/102]] |
| [[Kategorie:Kryptografie]] | | [[Kategorie:Kryptografie]] |