Auf Linux Systeme kann man mittels SSH zugreifen und sich dort entweder per Kennwort oder durch einen SSH-Schlüssel authentifizieren. Letzteres ist definitiv die sicherste Variante und sollte auch als einzige zugelassen werden. Hierzu muss jedoch zuerst ein Schlüssel erstellt werden. Dies geht am einfachsten mit Putty. Dieses muss daher einmal heruntergeladen und installiert werden: "A Windows installer for everything except PuTTYtel"
Nach der Installation kann über PuTTYgen ein Schlüssel erstellt werden. Dazu muss lediglich das Programm gestartet und auf "Generate" geklickt werden. Anschließend werden unter anderem durch Mausbewegungen Zufallszahlen generiert. Wer es also eilig hat, einfach ein bisschen die Maus im Fenster hin und her bewegen.
Sobald der Schlüssel erstellt wurde, sollte unter "Key comment" der Benutzername hinterlegt werden, für den der Schlüssel erstellt wurde, um bei mehreren Schlüssel auf einem Server die Übersicht behalten zu können.
Um den Schlüssel vor unbefugter Nutzung zu schützen, sollte dieser mit einem Kennwort versehen werden. Keine Angst, dieses kann nachträglich geändert werden.
Nun noch den privaten Schlüssel über "Save private key" speichern und den Öffentlichen Schlüssel markieren und in die Zwischenablage kopieren.
Nun mit dem Linux-System verbinden, auf dem der Schlüssel hinterlegt werden soll, und einfach im Home-Verzeichnis des Benutzers unter im Ordner .ssh ablegen. Unter Umständen gibt es dort eine Datei names authorized_keys2, diese tut es auch:
/root/.ssh/authorized_keys
Nun einmal abmelden und am lokalen PC den "pageant" starten. Das Programm läuft nun im Systray-Bereich mit.
Über die rechte Maustaste auf dem Symbol kann über "Add Key" der Schlüssel geladen werden. Einmal geladen steht er automatisch für jede SSH-Sitzung zur Verfügung bis die Anwendung "pageant" geschlossen wird. Nach dem Laden des Schlüssels kann erneut über die rechte Maustaste auf dem Symbol eine neue Sitzung erstellt werden. Trägt man unter "Host Name" root@server123.de ein, erfolgt automatisch eine Anmeldung als root und dem gerade hinterlegten Schlüssel.
War dies erfolgreich, sollte nun die Authentifizierung per Kennwort deaktiviert werden. Dazu müssen in der Datei /etc/ssh/sshd_config folgende Zeilen angepasst werden:
PubkeyAuthentication yes PasswordAuthentication no
Anschließend einmal den SSH Dienst neu starten und fertig:
service ssh restart
Noch mehr Sicherheit
Dazu sollte ein zusätzlicher Benutzer über adduser angelegt werden, welcher der einzige ist, der sich per SSH anmelden darf. Der SSH-Schlüssel muss dementsprechend auch für diesen Benutzer hinterlegt werden. Anschließend wird dieses Konto über die rbash abgesichert.
Um eine SSH-Anmeldung nur noch für den neu angelegten Benutzer zu erlauben, muss die Datei /etc/ssh/sshd_config dementsprechend angepasst werden:
AllowUsers <neuer_Benutzer>
Anschließend wieder den SSH Dienst neu starten:
service ssh restart
Möchte man sich nun zum Remote-System verbinden, meldet man sich mit dem neuen Benutzernamen an und wechselt dann mittels su root in den root Kontext. Wenn man es genau nimmt, ist dies auch eine Art Zwei-Faktor Authentifizierung 😉