Wenn ich das cd .ssh
Terminal eingebe, kehrt es mit zurück -bash: cd: .ssh/: Permission denied
. Jetzt kann ich meine SSH-Schlüssel nicht mehr zu SSH hinzufügen.
Wenn ich tippe ssh-add ~/.ssh/idname
, heißt es /Users/Dan/.ssh/idname: Permission denied
.
Ich denke, es hat mit meiner Eingabe zu tun, ls -d
weil es funktioniert hat, bevor ich dies in Terminal eingegeben habe?
ssh
permissions
ls
Daniel
quelle
quelle
id;ls -ld ~/.ssh
?Antworten:
Da Sie für ein Verzeichnis die Berechtigung "verweigert" haben, verfügt das Verzeichnis wahrscheinlich nicht über Ausführungsberechtigungen. Um einen Verzeichnisbaum zu durchlaufen, um an eine Datei zu gelangen, müssten Sie in ähnlicher Weise Ausführungsberechtigungen für jedes Verzeichnis zwischen dem Stammverzeichnis und der Datei ausführen (daher der gleiche Fehler für den anderen Befehl).
Versuchen Sie, die Ausführungsberechtigungen für das Verzeichnis festzulegen
Überprüfen Sie dann, ob Sie diese Anweisungen erneut ausführen können.
quelle
chmod u+xr,go-rwx
ist, wie der Benutzer im Voraus bestätigen muss, welche Einstellungen hinzugefügt oder entfernt werden müssen. Andererseits ist es umfassender als die Verwendung eines Zahlencodes, zchmod 1755
.Zusätzlich zu Arceges Antwort können Sie auch
sudo su <enter password> cd .ssh
den
sudo
Befehl (ohne einen anderen Benutzernamen) verwenden, mit dem Sie Befehle als Superuser (root) ausführen können, vorausgesetzt, Sie sind ein Sudo-er (Ihr Benutzername enthält/etc/sudoers
die richtigen Felder). und kennen Sie das Passwort für diesen sudo-fähigen Benutzer.Warnung: Die
Arbeit als Superuser kann gefährlich sein, wenn Sie nicht wissen, was Sie tun. Sie können wichtige Dateien versehentlich ändern oder zerstören. Mit
sudo
Vorsicht verwenden.quelle
chmod
es nicht geklappt hat.