SSH Key Login unter Linux aktivieren

Root direkten Login verbieten

ACHTUNG:

Bitte gehen Sie sorgfältig vor, da Sie sich ansonsten selbst aussperren können. Wenn Sie den direkten Root Login verbieten, muss natürlich ein weiterer User am System vorhanden sein.

SSH ist das Standardwerkzeug für Linux Administratoren. Um den Server besser abzusichern, sollte man den direkten Root Login verbieten. Man kann sich noch immer mit einem anderen Benutzer am Server anmelden und dann per

su

zum Root User wechseln.

Dazu bearbeiten wir /etc/ssh/sshd_config und setzten

PermitRootLogin yes

auf

PermitRootLogin no

Nun kann man sich noch einen entsprechenden SSH Key einrichten. Dieser beinhaltet einen öffentlichen und einen privaten Schlüssel. Der öffentliche Schlüssel wird am Server abgelegt, der private Schlüssel bleibt “am Mann”.

SSH Config für SSH Key anpassen

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

Starten Sie anschließend den SSH Dienst neu:

/etc/init.d/ssh restart

Generieren eines Schlüsselpaars unter Linux

ssh-keygen -d

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.

Sie finden nun im Homeverzeichnis Ihres Users unter

/home/$USERNAME/.ssh

das Schlüsselpaar:

id_dsa
id_dsa.pub

Der öffentliche Schlüssel befindet sich in der Datei

id_dsa.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_dsa

Filed under: Debian, Linux

1 Comment

  1. netter Artikel von dir, ich hab noch was interessantes zum Thema SSH Absichern ohne Key


Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Comment *
Name *
Email *
Website