Когда я пытаюсь SSH в другой ящик, я получаю эту странную ошибку
$ ssh hostname
Bad owner or permissions on ~/.ssh/config
Но я убедился, что у меня есть права доступа к файлу:
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
ssh
file-permissions
Роберт
источник
источник
IdentityFile ~/.ssh/id_rsa
набор, поэтому, когда я пытался получить доступ к user@myserver.com, он пытался использовать этот id_rsa, не спрашивая меня о пароле. Избегайте глобального IdentityFile, и все будет хорошо.Ответы:
Мне нужно было иметь права доступа только для пользователя в конфигурации. Это исправило это.
Как другие отметили ниже, это может быть владелец файла. (одобряю их!)
источник
chown -R robert:robert ~/.ssh
400
600
не работал, только400
(на Ubuntu Xenial)Эти команды должны исправить проблему с разрешениями:
Префикс с,
sudo
если файлы принадлежат другому пользователю (или у вас нет доступа к ним).Если затронуто больше файлов, замените
config
на*
.В
man ssh
мы можем прочитать:источник
Для меня это была проблема с моей учетной записью пользователя, не являющегося владельцем файла
источник
По умолчанию на WSL (подсистема Windows для Linux) chmod не действует. Прежде чем вы сможете
chmod
файлы, упомянутые в других ответах, вы должны добавитьчтобы ваш
/etc/wsl.conf
перезапустить WsL (требуется построить 17093 или более поздней версии).Перед креплением говорит:
После того, как гора говорит:
источник