Ich versuche, einen SSH-Schlüssel für einen anderen Benutzer zu erstellen. Ich bin als root angemeldet. Kann ich einfach die von ssh-keygen generierten Dateien bearbeiten und root auf den gewünschten Benutzer ändern?
Ich versuche, einen SSH-Schlüssel für einen anderen Benutzer zu erstellen. Ich bin als root angemeldet. Kann ich einfach die von ssh-keygen generierten Dateien bearbeiten und root auf den gewünschten Benutzer ändern?
Antworten:
Sie können dies jedoch tun, indem Sie sich ssh-keygen
daran erinnern, dass der private Schlüssel für den Benutzer privat sein soll. Achten Sie daher sehr darauf, ihn so sicher wie das Kennwort des Benutzers zu verwahren. Oder noch sicherer, da der Benutzer es wahrscheinlich nicht ändern muss, wenn er sich zum ersten Mal anmeldet.
ssh-keygen -f anything
Erstellt zwei Dateien im aktuellen Verzeichnis. anything.pub
ist der öffentliche Schlüssel, den Sie ~/.ssh/authorized_keys
auf jedem Zielserver an den Benutzer anhängen können .
Die andere gerade aufgerufene Datei anything
ist der private Schlüssel und sollte daher für den Benutzer sicher gespeichert werden. Der Standardspeicherort wäre ~username/.ssh/id_rsa
(hier benannt id_rsa
, der Standard für RSA-Schlüssel ist). Denken Sie daran, dass das .ssh
Verzeichnis nur von dem Benutzer gelesen oder beschrieben werden kann und das Basisverzeichnis des Benutzers nur von dem Benutzer beschrieben werden kann. Ebenso müssen die Berechtigungen für den privaten Schlüssel eng sein: Lesen / Schreiben nur für den Benutzer, und das SSH-Verzeichnis und die private Schlüsseldatei müssen Eigentum des Benutzers sein.
Technisch könnte man den Schlüssel überall aufbewahren. Mit können ssh -i path/to/privatekey
Sie diesen Ort angeben, während Sie eine Verbindung herstellen. Auch hier sind ordnungsgemäße Inhaberschaft und Berechtigungen von entscheidender Bedeutung und ssh funktioniert nicht, wenn Sie nicht über die erforderlichen Berechtigungen verfügen.
ssh -i
zu einem privaten Schlüssel für einen nicht privilegierten Prozess ist, wie ich mehr als einige automatisierte rsync-Sicherungsprozesse handhabe. :)
users
oderuser's
Die SSH-Schlüssel enthalten keine Benutzerinformationen .
Das letzte Feld in einem öffentlichen Schlüssel ist ein Kommentar (und kann durch Ausführen des folgenden Befehls geändert werden ssh-keygen -C newcomment
).
Sie müssen nichts Besonderes tun, um einen Schlüssel für einen anderen Benutzer zu erstellen. Legen Sie ihn einfach an der richtigen Stelle ab und legen Sie die Berechtigungen fest.
Werden Sie zum Benutzer, indem Sie su verwenden und den Schlüssel als dieser Benutzer ausführen:
[root@kvm0001 ~]# su - joeuser
[joeuser@kvm0001 ~]$ ssh-keygen -t dsa (or rsa1 or rsa, depending on your security requirements)
Generating public/private dsa key pair.
Enter file in which to save the key (/home/joeuser/.ssh/id_dsa):
joeuser
Benutzer ist ein Servicebenutzer, daher kann ich mich nicht als dieser anmelden. Wie kann ich einem Dienstbenutzer (der nur Prozesse ausführt) erlauben, einen SSH-Schlüssel zu haben?