Ich habe meine Berechtigungen in meinem .ssh
Ordner geändert. Wenn ich jetzt eine Software verwende, die meinen privaten Schlüssel verwendet, muss ich jedes Mal mein Kennwort eingeben. Welche Berechtigungen muss meine id_rsa
Datei haben, damit ich nicht jedes Mal ein Kennwort eingeben muss, wenn ich eine App verwende, die es verwendet?
Derzeit sind meine Berechtigungen auf Folgendes festgelegt:
-rw-------@ 1 Jody staff 114 Nov 4 23:29 config
-rw------- 1 Jody staff 1743 Oct 21 2009 id_rsa
-rw-------@ 1 Jody staff 397 Oct 21 2009 id_rsa.pub
-rw-------@ 1 Jody staff 3855 Sep 13 22:35 known_hosts
quelle
Ich kämpfte für immer damit und fand schließlich heraus, was gebraucht wird. Ersetzen Sie sie
$USER
überall durch den SSH-Benutzernamen, bei dem Sie sich am Server anmelden möchten. Wenn Sie versuchen, sich anzumelden, wieroot
Sie es brauchen würden/root/.ssh
usw., anstatt/home/root/.ssh
wie es für Nicht-Root-Benutzer ist.chmod go-w /home/$USER
chmod 700 /home/$USER/.ssh
chmod 644 /home/$USER/.ssh/authorized_keys
user
die Dateien / Ordner und nichtroot
:chown user:user authorized_keys
und gehörenchown user:user /home/$USER/.ssh
ssh-keygen
) in der Benutzerdateiauthorized_keys
auf dem Server ab.ssh
Ordner enthält, den Sie geändert haben. Wenn nicht, verwenden Sieusermod -d /home/$USER $USER
, um das Problem zu behebenservice ssh restart
.ssh
Ordner des lokalen Benutzers verfügt, und melden Sie sich an:ssh [email protected]
quelle
abc
) zu sshen , der sich vom Benutzer auf dem Remote-Server (z[email protected]
. B. ) unterscheidet. Ich musste nur sicherstellen, dass der lokale Benutzer die lokalen .ssh-Dateien besaß (z. B.abc:abc
nichtroot:abc
)Stellen Sie außerdem sicher, dass Ihr Basisverzeichnis nicht von anderen Benutzern beschrieben werden kann.
chmod g-w,o-w ~
quelle
Berechtigungen sollten damit nichts zu tun haben. Ihr privater Schlüssel ist mit dem Kennwort verschlüsselt. Sie müssen ihn eingeben, damit der private Schlüssel entschlüsselt und verwendet werden kann.
Sie können einen ssh-Agenten ausführen, der entschlüsselte Schlüssel zwischenspeichert und sie an Anwendungen weiterleitet, die sie benötigen.
quelle
Felipe ist korrekt - das Verzeichnis, in dem sich Ihr .ssh-Verzeichnis befindet, darf nicht für Gruppen oder andere Personen beschreibbar sein. So
chmod go-w ~
ist die nächste logische Sache , um zu versuchen , wenn Sie immer noch nach einem Passwort gefragt werden , wenn nach dem Ausführen ssh'ingssh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
, vorausgesetzt , Sie kein Passwortes in dem Befehl ssh-keygen zuordnen und das .ssh - Verzeichnis in Ihrem Home - Verzeichnis.quelle