Quelloffene Verschlüsselung

OpenSSH effizient nutzen

20.03.2009
Von Andreas Kroschel

Öffentliche Schlüssel nutzen

Sie sollten sich bei OpenSSH für Public Keys entscheiden
Sie sollten sich bei OpenSSH für Public Keys entscheiden

Anstelle von Kennwörtern zur Authentifizierung von Benutzern sollten Sie ausschließlich öffentliche Schlüssel (Public Keys) verwenden. Diverse Hacker-Tools wie Hydra erlauben automatisierte Brute-Force-Angriffe gegen SSH-Server. Folgend Einträge in der Datei /etc/log/secure deuten auf einen Angriff hin:
Oct 9 19:40:32 iolo sshd2[2175]:
connection from
“218.38.136.77”
Oct 9 19:40:32 iolo sshd2[11581]:
WARNING: DNS lookup failed for
“218. 38.136.77”
Oct 9 19:40:33 iolo sshd2[11034]:
LoginGraceTime exceeded
Oct 9 19:40:34 iolo sshd2[11581]:
password authentication failed
Es wird höchste Zeit, die Authentifizierung zu ändern. Zunächst erzeugen Sie auf dem SSH-Client Ihren individuellen Schlüssel mit dem Befehl „ssh-keygen –t rsa“. Bestätigen Sie die Eingabeaufforderungen des folgenden Dialogs, und geben Sie auf Anfrage eine Passphrase für Ihren Schlüssel ein. OpenSSH bestätigt den Vorgang: Im nächsten Schritt ändern Sie die Authentifizierungsverfahren des SSH-Servers, so dass zukünftig keine Kennwörter zum Login akzeptiert werden. Bearbeiten Sie hierzu die Datei /etc/ssh/sshd_con’ g als Superuser Root und ändern Sie „yes“ zu „no“ in der Zeile „PasswordAuthentication“. Anschließend starten Sie den SSHD mit dem Befehl „service sshd restart“ neu. Versuchen Sie einen Login per SSH-Client, etwa mit dem Befehl „ssh root@localhost“– er wird scheitern. Kopieren Sie danach Ihren öffentlichen Schlüssel mit dem Befehl:
cat /home/tw/.ssh/id_rsa.pub >>
/root/.ssh/authorized_keys
Danach versuchen Sie das Login erneut.„ssh root@localhost“ meldet dieses Mal:
Enter Passphrase for key ‘/home/tw/.ssh/id_rsa’:
Erst nachdem Sie das Kennwort für Ihren persönlichen Schlüssel eingegeben haben, klappt die Anmeldung.

Schlüsseldienst: SSH-Agent

Anstatt das Kennwort Ihres Schlüssels beim Aufbau jeder SSH-Verbindung immer wieder einzugeben, können Sie den so genannten SSH-Agenten starten, der sich das Kennwort im Hintergrund merkt:
eval ‘ssh-agent’
ssh-add
Enter passphrase for /home/tw/.ssh/id_rsa:
Identify added: /home/tw/.ssh/id_rsa
(/home/tw/.ssh/id_rsa)
Verbindungen, die Sie zu einem SSH-Server aufbauen, dem Ihre öffentlichen Schlüssel bekannt sind, funktionieren jetzt ohne die Eingabe der Passphrase Ihres Schlüssels.
Tipp: Setzen Sie SSH-Agenten ein, wenn Sie Automatismen wie Shell Scripts benutzen, die per SSH oder SCP Informationen austauschen sollen.