Einleitung
SSH oder auch Secure Shell genannt, ist ein Protokol mit dem man Server administrieren oder kommunizieren kann.
Wenn Ihr mit Linux Servern arbeitet werdet Ihr sehr wahrscheinlich hauptsächlich mit dem Terminal arbeiten indem Ihr euch via SSH mit dem Server verbindet.
Schritt 1 – RSA Schlüsselpaar generieren
Als erstes müsst Ihr einen öffentlichen Schlüssel (Public Key) generieren. Das macht Ihr mit dem folgenden Befehl
$ ssh-keygen
Output
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):
Wenn Ihr wollt könnt Ihr noch ein Passwort eingeben um Euren Key zu schützen. Dieses ist aber optional und man kann auch das Passwort weglassen.
Output
Enter passphrase (empty for no passphrase):
Output
Your identification has been saved in /your_home/.ssh/id_rsa.
Your public key has been saved in /your_home/.ssh/id_rsa.pub.
The key fingerprint is:
a9:49:2e:2a:5e:33:3e:a9:de:4e:77:11:58:b6:90:26 username@remote_host
The key's randomart image is:
+--[ RSA 2048]----+
| ..o |
| E o= . |
| o. o |
| .. |
| ..S |
| o o. |
| =o.+. |
|. =++.. |
|o=++. |
+-----------------+
Schritt 2 – Public Key auf den Server kopieren
Jetzt müssen wir noch den Public Key auf den Server kopieren. Ihr werdet dann nach dem passwort zu dem dazugehörigen User gefragt. Diesen einfach eingeben und der Key wird auf den Server gespielt
$ ssh-copy-id username@remote_host
Output
The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
Nun könnt Ihr euch ohne Passwort sicher auf Euren Server einloggen. Das ist sehr hilfreich da Ihr ohne Passwort Abfrage auch automatisierte Jobs laufen lassen könnt.
Schritt 3 – Login mit Passwort verindern
Ein wenig mehr Sicherheit könnt Ihr noch hinzufügen, indem Ihr es verbietet sich mit einem Passwort einzuloggen und nur mit dem Schlüssel es möglich ist sich auf den Server einzuloggen.
Wir müssen da erstmal die config des SSH Daemon öffnen und Bearbeiten
$ sudo vi /etc/ssh/sshd_config
Sucht genau nach dem Abschnitt PasswordAuthentication und setzt diesen auf no.
...
PasswordAuthentication no
...
Anschliessend nur noch den Daemon neustaraten und nun ist das einloggen mit passwort nicht mehr möglich und Euer server ein stückchen sicherer
$ sudo systemctl restart sshd.service
Ich hoffe ich konnte Euch mit der kleinen Anleitung etwas helfen und das nervige Passwort eingeben ersparen. Viel Spass beim ausprobieren
No responses yet