OpenSSH Konfiguration
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
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.
|