-bash: cd: .ssh /: В доступе отказано


13

Когда я набираю в cd .sshтерминале, он возвращается с -bash: cd: .ssh/: Permission denied. Теперь я не могу добавить свои ключи ssh в ssh.

Когда я печатаю, ssh-add ~/.ssh/idnameэто говорит /Users/Dan/.ssh/idname: Permission denied.

Я думаю, это связано со мной, ls -dпотому что он работал до того, как я набрал это в терминале?


Какой выход id;ls -ld ~/.ssh?
Михас

Ответы:


24

Поскольку у вас есть «Отказано в доступе» для каталога, скорее всего, у каталога нет разрешений на выполнение. Точно так же, чтобы перейти к дереву каталогов и получить доступ к файлу, вам понадобятся разрешения на выполнение для каждого каталога между корнем и файлом (отсюда и та же ошибка для другой команды).

Попробуйте установить разрешения на выполнение для каталога

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

Затем посмотрите, сможете ли вы снова запустить эти операторы.


Такая простая и элегантная команда. Работал сразу на моем Mac!
Игорь Ганапольский

недостатком chmod u+xr,go-rwxявляется то, как пользователь должен заранее подтвердить, какие настройки необходимо добавить или вычесть. с другой стороны, это более полно, чем использование числового кода, например chmod 1755.
noobninja

1

В дополнении к ответу Arcege, вы можете также использовать
sudo su <enter password> cd .ssh
The sudoкоманду (без другого имени пользователя) позволяет запускать команды , как суперпользователь (корень), при условии , что вы Судо-эр (ваше имя пользователя в /etc/sudoersс правильными полями) и знать пароль для этого пользователя с поддержкой sudo.

Предупреждение.
Работа в качестве суперпользователя может быть опасной, если вы не знаете, что делаете. Вы можете случайно изменить или уничтожить необходимые файлы. Используйте sudoс осторожностью.


Да, это сработало, когда chmodне получилось.
Pro Q
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.