-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?
michas

Відповіді:


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.