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