Когда я пытаюсь подключиться к другому ящику по 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
answer

Мне нужно было иметь rw для разрешений только для пользователей в config. Это исправило это.

chmod 600 ~/.ssh/config

Как другие отметили ниже, это может быть владелец файла. (проголосуйте за них!)

chown $USER ~/.ssh/config

Эти команды должны решить проблему с разрешением:

chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config

Префикс, sudoесли файлы принадлежат другому пользователю (или у вас нет к ним доступа).

Если затронуты другие файлы, замените их configна *.

В man sshмы можем прочитать:

Because of the potential for abuse, this file must have strict permissions: read/write for the user, and not writable by others. It may be group-writable provided that the group in question contains only the user.

Для меня проблема заключалась в том, что моя учетная запись пользователя не являлась владельцем файла.

sudo chown myuser ~/.ssh/config

Если в подсистеме Windows для Linux (WSL) вы указали домашний каталог WSL на домашний каталог Windows (не рекомендуется!), Тогда chmod не действует. Прежде чем вы сможете chmodиспользовать файлы, упомянутые в других ответах, вы должны добавить

[automount]
options = "metadata"

к вашему /etc/wsl.confзатем перезапустить WSL (требует сборки 17093 или более поздней версии).

Перед креплением говорит:

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,case=off)

После монтирования говорит:

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,metadata,case=off)

Не забывайте про группу:

chown $USER:$USER ~/.ssh/config

:-)

Я столкнулся с этой проблемой на Windows 10 с vagrant ssh. И попробовал все вышеперечисленные методы, но безуспешно. Наконец, я удалил этот файл конфигурации ssh, и он работает!

vagrant ssh
Bad owner or permissions on C:\\Users\\Jeff/.ssh/config
del ..\.ssh\config

vagrant ssh
Welcome to Ubuntu 14.04.6 LTS (GNU/Linux 3.13.0-170-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Thu Feb 27 02:23:03 UTC 2020

  System load:  0.0               Processes:              77
  Usage of /:   5.1% of 39.34GB   Users logged in:        0
  Memory usage: 21%               IP address for eth0:    10.0.2.15
  Swap usage:   0%                IP address for docker0: 172.17.0.1

  Graph this data and manage this system at:
    https://landscape.canonical.com/

New release '16.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


[email protected]:~$