OpenSSH Konfiguration

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Der folgende Artikel beschreibt fortgeschrittene OpenSSH Konfigurationen und soll bei Bedarf erweitert werden. Wenn auch Sie interessante Inhalte dafür haben, schreiben Sie uns bitte eine Nachricht.

Einen Überblick über alle serverseitigen SSH Konfigurationsoptionen finden Sie in der Manpage von sshd_config.

man sshd_config

Informationen zu clientseitigen SSH Konfigurationsoptionen finden Sie in der Manpage von ssh_config.

man ssh_config

Bedingungsbasierte Konfiguration mit "Match"

Die Konfigurationsoption "Match" erlaubt es eine globale Konfiguration (z.B. in /etc/ssh/sshd_config) mit einer an eine Bedingung geknüpften zu überschreiben. Folgende Bedingungen sind möglich:

  • User
  • Group
  • Host
  • Address[

Hier ein Beispiel für eine Konfiguration in /etc/ssh/sshd_config:

PasswordAuthentication no
...

Match User admin
        PasswordAuthentication yes

In diesem Fall wird die Passwort Authentifizierung global deaktiviert, jedoch danach mit Hilfe einer Match Anweisung für den Benutzer "admin" aktiviert.

Generell ist "Match" nur für folgende Optionen erlaubt:

AllowAgentForwarding, AllowTcpForwarding, Banner, ChrootDirectory, ForceCommand, GatewayPorts, GSSAPIAuthentication, HostbasedAuthentication, KbdInteractiveAuthentication, KerberosAuthentication, MaxAuthTries, MaxSessions, PasswordAuthentication, PermitEmptyPasswords, PermitOpen, PermitRootLogin, PubkeyAuthentication, RhostsRSAAuthentication, RSAAuthentication, X11DisplayOffset, X11Forwarding und X11UseLocalHost

VPN mit OpenSSH

OpenSSH bietet ab Version 4.3 die Möglichkeit einen VPN Tunnel aufzubauen. Dabei wird ein tun Device auf lokaler und remote Seite erstellt. Sobald dieses konfiguriert wurde, kann das VPN verwendet werden.

Unter Ubuntu/Debian muss vorab noch das Paket "uml-utilities" installiert werden. Dieses bringt das Binary tunctl mit.

Die SSH Server Konfiguration sshd_config muss um folgende Optionen erweitert werden:

PermitRootLogin yes
PermitTunnel yes

Mittels der Option "-w" kann nun ein Tunnel aufgebaut werden:

ssh -w 0:0 1.2.3.4

Danach sollte auf beiden Seiten ein "tun0" Interface sichtbar sein. Dieses muss dann noch entsprechend eine IP-Adresse zugewiesen werden.

Ggf. muss noch IP Forwarding aktiviert werden.

echo 1 > /proc/sys/net/ipv4/ip_forward

Für einen dauerhaften VPN Einsatz empfehlen wir die Verwendung von OpenVPN, welches wesentlich leichter konfiguriert und automatisiert werden kann.

Weiterführende Informationen gibt es hier: https://help.ubuntu.com/community/SSH_VPN


Foto Christoph Mitasch.jpg

Autor: Christoph Mitasch

Christoph Mitasch arbeitet in der Abteilung Web Operations & Knowledge Transfer bei Thomas-Krenn. Er ist für die Betreuung und Weiterentwicklung der Webshop Infrastruktur zuständig. Seit einem Studienprojekt zum Thema Hochverfügbarkeit und Daten Replikation unter Linux beschäftigt er sich intensiv mit diesem Themenbereich. Nach einem Praktikum bei IBM Linz schloss er sein Diplomstudium „Computer- und Mediensicherheit“ an der FH Hagenberg ab. Er wohnt in der Nähe von Linz und ist neben der Arbeit ein begeisterter Marathon-Läufer und Jongleur, wo er mehrere Weltrekorde in der Team-Jonglage hält.


Das könnte Sie auch interessieren

Ausführbare SSH-Kommandos per authorized keys einschränken
SSH Login langsam durch DNS Timeout
SSH Root Login unter Debian verbieten