SSH-Sprungbrettrechner unter Linux
SSH-Sprungbrettrechner unter Linux
Bei praktisch allen größeren Linux-Distributionen wird mittlerweile ein openssh-Server mitgeliefert, der auch automatisch beim Booten des Systems gestartet wird. Es sollte hierbei noch geprüft werden, ob der SSH-Dienst von außen auch Anfragen auf dem SSH-Port (Port 22) entgegennehmen darf. Bei SLED/SLES 10 z.B. startet man dazu Yast2 und geht im sich nun erscheinenden Fenster links auf "Sicherheit und Benutzer" und anschließend auf "Firewall". Nach dem Klicken auf "Erlaubte Dienste" im linken Menü kann man dann rechts unter "Zu erlaubender Dienst" SSH in der Auswahlbox anwählen und durch Betätigen des rechts danebenstehenden Buttons "Hinzufügen" in die Liste darunter übernehmen. Abschließend geht man auf "Weiter" rechts unten und die Firewall lässt nun Verbindungen von außen auf den openssh-Server zu.
Ein solch mitgelieferter und automatisch eingerichteter openssh-Server unterstützt jedoch in seiner Grundeinstellung lediglich die Authentifizierung über das Maschinenkonto. Verbindet man sich also auf diesen Server, wird man aufgefordert einen Benutzernamen und das Passwort einzugeben. Im Folgenden wird beschrieben, wie eine Authentifizierung via Public-Key eingerichtet wird, die wesentlich sicherer ist, als das Benutzen eines u.U. schwachen Maschinenkonto-Passworts.
1. Erzeugen eines Schlüsselpaars. Wie ein SSL-Schlüsselpaar erzeugt wird, wird in dieser Anleitung erklärt.
2. Der Public-Key muss nun dem openssh-Server zugänglich gemacht werden. Dazu kopiert man diesen in die Datei home/<Benutzer>/.ssh/authorized_keys auf dem openssh-Server. Mittels folgendem Aufruf geschieht dies direkt, ohne händisch Dateien anlegen und über Zwischenschritte den Public-Key kopieren zu müssen (in diesem Beispiel existiert auf dem SSH-Server 192.168.1.2 ein Benutzer namens testuser):
cat ~/.ssh/id_rsa.pub | ssh testuser@192.168.1.2 "mkdir .ssh; cat >> .ssh/authorized_keys"
Hinweis: Wurde der Public-Key mit Puttygen erzeugt, so müssen Sie noch diesen Schlüssel konvertieren, bevor er in die Datei authorized_keys kopiert werden kann.
3. Es wird im Rahmen des IT-Sicherheitskonzepts der Uni Würzburg empfohlen, nur eine Authentifizierung mittels Public Keys zuzulassen und die normale, mit einfachem Benutzernamen und Passwort mögliche Authentifizierung zu deaktivieren. Dies geschieht über die SSH-Konfigurationsdatei sshd_config im Verzeichnis /etc/ssh. Dort müssen unter anderem folgende Zeilen stehen:
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePam no
Damit diese Einstellungen auch übernommen werden, muss der SSH-Daemon noch neugestartet werden. Dazu einfach folgenden Befehl eingeben:
sudo /etc/rc.d/sshd restart
Nachdem der SSH-Sprungbrettrechner unter Linux nun für die Public-Key-Authentifizierung eingerichtet ist, kann mittels eines SSH-Clients (z.B. Putty für Windows-Rechner) oder dem Kommando ssh (bei Linux-Rechnern) eine Verbindung aufgebaut werden. (siehe Anleitungen SSH-Client unter Windows und SSH-Client unter Linux)