ssh возвращает â € œBad владелец или разрешения на ~ /.ssh /configâ €
Когда я пытаюсь передать ssh в другое поле, я получаю эту странную ошибку
$ ssh hostname
Bad owner or permissions on ~/.ssh/config
Но я убедился, что у меня есть и есть права на rw для файла:
ls -la ~/.ssh/
total 40K
drwx------ 2 robert robert 4.0K Mar 29 11:04 ./
drwx------ 7 robert robert 4.0K Mar 29 11:04 ../
-rw-r--r-- 1 robert robert 2.0K Mar 17 20:47 authorized_keys
-rw-rw-r-- 1 robert robert 31 Mar 29 11:04 config
-rw------- 1 robert robert 1.7K Aug 4 2010 id_rsa
-rw-r--r-- 1 robert robert 406 Aug 4 2010 id_rsa.pub
-rw-r--r-- 1 robert robert 6.1K Mar 29 11:03 known_hosts
3 ответа
Мне нужно было иметь rw для прав доступа только для пользователей в config. Это исправлено.
chmod 600 ~/.ssh/config
Как отмечали другие, это может быть владелец файла. (повысите их!)
chown $USER ~/.ssh/config
Эти команды должны исправить проблему разрешения:
chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config
Префикс с sudo
, если файлы принадлежат другому пользователю (или у вас нет доступа к ним).
Если пострадали больше файлов, замените config
на *
.
В man ssh
мы можем прочитать:
Из-за возможности злоупотребления, этот файл должен иметь строгие разрешения: читать /писать для пользователя, а не доступный для записи другими. Он может быть доступен для групп, если эта группа содержит только пользователя.
Для меня это была проблема с тем, что моя учетная запись пользователя не являлась владельцем файла
sudo chown myuser ~/.ssh/config