在 Docker 中使用 SSH 的功能时,发现 SSH 报错:
Bad owner or permissions on ~/.ssh/config
通过 ls -l
查看 ~/.ssh/config
,得到如下结果:
-rw------- 1 1000 1000 557 Jul 29 20:32 config
注意到给出的 User 和 Group 的值不是一个名字(如 root
),而是一个数字。这说明,文件所属的 User / Group 无法找到。
可以通过如下的命令查看当前 root
用户的 ID:
id -u root # output => 0
可以看到和 ls
列出的 ID 是不匹配的。这说明,导致 SSH 无法正常工作的主要原因,是 ~/.ssh/config
文件权限的设置有问题。可以通过如下的命令将权限分配给当前的 root
用户:
chown -R root:root /root/.ssh
再次运行 SSH 就可以正常工作了。