Skip to main content

SSH Key Login

Hinweis: Dieser Artikel bezieht sich auf ältere SSH Versionen (SSH Version 1). Aktuelle Informationen zu SSH Key Logins finden Sie im Artikel OpenSSH Public Key Authentifizierung unter Ubuntu. SSH Config für SSH Key anpassen

Gesamtüberblick http://www.debianroot.de/server/sshd_config-1097.html

Am entfernten Server muss nun noch die

/etc/ssh/sshd_config 

bearbeitet werden. Ändern Sie folgende Werte:

aktuell:

RSAAuthentification yes

neu:

RSAAuthentification no

aktuell:

#AuthorizedKeysFile %h/.ssh/authorized_keys

neu:

AuthorizedKeysFile %h/.ssh/authorized_keys

aktuell:

#IgnoreUserKnowHosts yes
ChallengeResponseAuthentication yes
PasswordAuthentification yes

neu:

IgnoreUserKnowHosts yes
ChallengeResponseAuthentication no
PasswordAuthentification no

Optional # Wenn AllowUsers definiert wurde, dann ist das anmelden auf dem SSH Server nur diesen Usern erlaubt. # Man kann mehrere User angeben. Sie werden dann durch Leerzeichen getrennt. AllowUsers SystemUsername

Starten Sie anschließend den SSH Dienst neu:

/etc/init.d/ssh restart

bei CentOS 7

systemctl restart sshd

Neben DSA gibt es RSA, welches neuer ist und besser verschlüsselt. Generieren eines Schlüsselpaars unter Linux optional mit Name

ssh-keygen -t ed25519 -a 100 -f ~/.ssh/codeberg_key -C "your email"
  • -f ~/.ssh/codeberg_key legt den Schlüssel unter dem von dir gewünschten Namen ab (Dateien codeberg_key und codeberg_key.pub).
  • -a 100 ist die Doku-Vorgabe für stärkere Schlüsselableitung bei der Passphrase.
  • -C ist nur ein Kommentar. Eine Mailadresse brauchst du dort nicht. Bei einem öffentlichen Kommentar lieber keine private Adresse eintragen.

Passwort ja oder nein? Passwort sicherer und sollte mit dem ssh agent hinterlegt werden. Ansonsten müsste man es immer eingeben.
Das Schlüsselpaar wird nun erzeugt. Anschließend wird nach dem Namen des Schlüssels und dem Speicherort gefragt.

WICHTIG: Schützen Sie Ihren privaten Schlüssel mit einem Kennwort.

Test:
ssh -T [email protected]

Sie finden nun im Homeverzeichnis Ihres Users unter

 /home/$USERNAME/.ssh

das Schlüsselpaar.

id_rsa
id_rsa.pub

Der öffentliche Schlüssel befindet sich in der Datei

id_rsa.pub

Den Inhalt dieser Datei speichern wir nun auf dem entfernten Server unter:

/home/$USERNAME/.ssh/authorized_keys

Wenn alles geklappt hatte, sollten Sie sich mit folgendem Befehl auf dem entfernten Server anmelden können:

ssh $SERVERIP_ODER_HOSTNAME_DES_ENTFERNTEN_SERVERS -i /home/$USERNAME/.ssh/id_rsa

Falls nicht kann es sein, dass der SSH-Dienst nicht neugestartet hat. Dann muss der Ziel-PC (wo die sshd.config geändert wurde) neu gestartet werden. Root direkten Login verbieten