-bash: cd: .ssh /: Berechtigung verweigert

11

Wenn ich das cd .sshTerminal 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 -dweil es funktioniert hat, bevor ich dies in Terminal eingegeben habe?

Daniel
quelle
Was ist die Ausgabe von id;ls -ld ~/.ssh?
Michas

Antworten:

23

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

chmod u+xr,go-rwx ~/.ssh

Überprüfen Sie dann, ob Sie diese Anweisungen erneut ausführen können.

Arcege
quelle
So ein einfacher und eleganter Befehl. Arbeitete sofort auf meinem Mac!
IgorGanapolsky
Ein Nachteil davon chmod u+xr,go-rwxist, 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, z chmod 1755.
Noobninja
1

Zusätzlich zu Arceges Antwort können Sie auch
sudo su <enter password> cd .ssh
den sudoBefehl (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/sudoersdie 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 sudoVorsicht verwenden.

Skamazin
quelle
Ja, das hat funktioniert, wenn chmodes nicht geklappt hat.
Pro Q