OpenSSH - freie Alternative zu SSH
Vorwort
Wer Wert auf Sicherheit legt, verwendet sicherlich die Secure Shell (SSH) für Remote Login, z.B. so, wie ich es in Konfiguration der Secure Shell an einem Beispiel beschrieben habe. Nun ist der größte Kritikpunkt an SSH, daß es trotz Verfügbarkeit des Quellcodes nicht frei ist. Werden, wie mehrmals in letzter Zeit, Sicherheitslücken entdeckt, ist es nicht erlaubt, modifizierte Versionen zu verbreiten, um das Problem zu korrigieren. Seit Version 2.0 ist SSH sogar noch weniger frei als zuvor. Und ein weiteres Problem ist die Verwendung von patentierten Algorithmen in SSH.
OpenSSH, die Rettung zur rechten Zeit
All diese Probleme löst OpenSSH auf einen Schlag. Die Geschichte dieses Programms ist auf der OpenSSH-Homepage nachzulesen, doch in Kurzform kann man sagen, daß OpenSSH auf einer alten Version von SSH basiert, die noch frei erhältlich und änderbar war. Das OpenSSH-Team um den OpenBSD-Chefentwickler Theo de Raadt hat diesen Code von allen patentierten und unfreien Algorithmen befreit, Fehler beseitigt und Features der aktuellen SSH-Version hinzugefügt. Herausgekommen ist ein Programm, das SSH ohne weiteres ersetzen kann.
Installation
Ich habe mir den Quellcode von der Homepage besorgt und diesen selbst übersetzt. Wer schon ein OpenSSH-Paket für seine Distribution hat (kaum eine Distribution dürfte heute ohne diese auskommen), kann dieses direkt verwenden und sich damit Arbeit sparen. Auch sind auf der Homepage Binärpakete vorhanden.
Die Compilierung ist einfach und problemlos. Als absolute Minimalvoraussetzung muß OpenSSL vorhanden sein. Daher holen wir und das Quellpaket von der Homepage und installieren es:
./config make make test make install
Danach installieren wir OpenSSH:
./configure --sysconfdir=/etc make make install
Ich habe hier abweichend vom Default /etc als Konfigurationsverzeichnis gewählt, weil sich hier schon meine SSH-Konfigurationsdateien befinden. Die Konfigurationsdateien von OpenSSH sind identisch mit denen von SSH, daher sollte ein Aufruf von ssh
exakt so funktionieren wie gewohnt.
Die kleine Ausnahme sind einzelne Konfigurationsoptionen von SSH, die es bei OpenSSH nicht mehr gibt. Bei mir waren aus /etc/sshd_config die Optionen FascistLogging
und IdleTimeout
zu entfernen. Es empfiehlt sich natürlich, die Manpages zu ssh und sshd zu konsultieren, um nützliche Optionen zu finden.
Neustart von OpenSSH
Sofern man den Daemon sshd laufen hat, muß man diesen beenden und neu starten. Danach ist der Rechner von einem weiteren proprietären Stück Software befreit.