SSH Public Key Logins

🔗 Wiki: SSH

Passwörter sind für mich immer noch das beste … weil ich sie im Gehirn speichern und überall hin mitnehmen kann.

Aber sicherer wären natürlich Zertifikate.
Auch beim Login auf SSH Servern.

Und wie ging das noch?


Die Idee dabei ist:

  1. Ein User myuser generiert sich ein Schlüssel-Paar (Public + Private Key).
  2. Der Public-Key wird auf den SSH-Server kopiert und mit dem dortigen Login-User ssh_user beknüpft.
  3. Beim Login von myuser auf dem Server mit dem ssh_user, erkennt der Server, dass myuser’s Verschlüsselung zum verknüpften Schlüssel von ssh_user pass.
  4. Und schon läuft die SSH Session wie gewohnt.

Einrichtung einer Public-Key Authentifizierung

Das Tool ssh-keygen erzeugt (falls nicht abgeändert) die beiden Dateien ~/.ssh/id_rsa und ~/.ssh/id_rsa.pub.

Der öffentliche Schlüssel muss jetzt “irgendwie” auf den SSH Server kopiert werden, entweder direkt, z.B.: per USB stick oder über eine andere SSH-Verbindung. Dort muss sein Inhalt in die Datei ~/.ssh/authorized_keys eingefügt werden, die im Homeverzeichnis des Ziel-Login-Useraccounts liegt.

Nachdem der Inhalt nur angefügt werden soll, reicht ein:

1mkdir -p ~/.ssh
2touch ~/.ssh/authorized_keys
3cat  /tmp/uploaded_data/id_rsa.pub >> ~/.ssh/authorized_keys

Das war es auch schon.
Ab sofort kann man sich per SSH über das Kommondo:

1ssh -i ~/.ssh/id_rsa ssh_user@ssh_server_host_or_ip

einloggen.

Hinweis: Das SSH Tool erfordert, dass der private Schlüssel von keinem anderen User gelesen werden kann.
Ein chmod -c 600 ~/.ssh/id_rsa kann also noch erforderlich sein.

PuTTY

Das Tool putty verwendet ein eigenes Format und folglich muss der private SSH Schlüssel in eine .ppk Datei konvertiert werden.

Das mitgelieferte Programm PuTTY Key Generator erledigt das über seinen Load Button, wonach man nur noch auf Save private key klicken muss, und den Namen der neuen .ppk angeben muss.

PuTTY Key Generator

In einer neuen PuTTY Sitzung wird unter
Connection - SSH - Auth - Credentials
dann der Pfad zur gespeicherten private-key Datei angegben, und schon startet beim Connect eine Schlüssel-gesicherte Übertragung.

PuTTY private key

Fazit

Public-Key Authentifizierung funktioniert eigentlich gegengleich zu Passwörtern.

Bei einer Passwort-Authentifizierung muss ich das Passwort eines Accounts auf dem Server kennen, damit ich mich einloggen kann.

Bei der Public-Key-Authentifizierung muss im Server-Account ein Public-Key bekannt sein, der zu meinem lokalen privaten Schlüssel passt.

Passwörten kann man eher erraten als generierte private Schlüssel, von daher ist diese Methode sicherer und zu bevorzugen.

… aber wie schon gesagt … Passwörter haben die Vorteil, dass man sie im Gehirn speichern und mittragen kann.

🔗 Wiki: SSH
📧 📋 🐘 | 🔔
 

Meine Dokus über:
 
Weitere externe Links zu:
Alle extern verlinkten Webseiten stehen nicht in Zusammenhang mit opengate.at.
Für deren Inhalt wird keine Haftung übernommen.



Wenn sich eine triviale Erkenntnis mit Dummheit in der Interpretation paart, dann gibt es in der Regel Kollateralschäden in der Anwendung.
frei zitiert nach A. Van der Bellen
... also dann paaren wir mal eine komplexe Erkenntnis mit Klugheit in der Interpretation!