-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

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

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

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

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

skamazin
источник
Да, это сработало, когда chmodне получилось.
Pro Q