SSH Autentifizierung mit Public Key
Eine Shell öffnen unter dem User der sich am Server anmelden darf SSH-Key generieren:
ssh-keygen -b 4096 Enter file in which to save the key (/home/andre/.ssh/id_rsa): /home/andre/.ssh/andre_rsa Enter passphrase "Passwort zum Verwenden des Schlüssels"
Es wird aus sicherheitstechnischen Gründen empfohlen, den Schlüssel auf jeden Fall mit einer Passphrase zu schützen. Dadurch liegt der Schlüssel nicht im Klartext vor, sondern ist AES-CBC verschlüsselt.
Es wurde zwei Schlüssel erzeugt:
- andre_rsa → Privater Schlüssel
- andre_rsa.pub → öffentlicher Schlüssel
Öffentl. Schlüssel auf Server übertragen
ssh-copy-id -i .ssh/andre_rsa.pub user@Server-IP user@Server-IP's password: Das normale User Passwort (nicht die Key-Passphrase)
Der Schlüssel wird auf den Server mit der angegebenen IP kopiert und zur Verwendung für den angegebenen Benutzer freigegeben.
Erste Verbindung aufbauen
Zuerst die passphrase kopieren da nach Eingabe der nächsten Zeile alles ausser die Eingabe im Fenster gesperrt ist
ssh -i .ssh/andre_rsa user@Server-IP
Im Abfragefenster des Passworts die bei der Generierung verwendete Passphrase eingeben
Nächste Anmeldung
ssh user@Server
Ein Passwort wird nicht mehr abgefragt.
Am Server
vim /etc/ssh/sshd_config
PasswordAuthentication no # Deaktiviert die normal Passwortautentifikation
Achtung: DAmit ist auch eine Erstanmeldung mit public Key nicht möglich, da die Abfrage der Schlüssel-Passphrase blockiert wird.
Nur ein Benutzer verbieten
vim /etc/ssh/sshd_config
DenyUsers foo # Verbietet den SSH-Zugang für den User foo Match User bar # verbietet die Passwort-Autentifikation für den Benutzer bar PasswordAuthentication no
alle Benutzer ausser „bar“ können sich weiterhin mit Passwort anmelden