Назад | Перейти на главную страницу

ssh возвращает «Неверный владелец или разрешения на ~ / .ssh / config»

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

Мне нужно было иметь 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

Если в подсистеме 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.


vagrant@vagrant-ubuntu-trusty-64:~$