Bad owner or permissions

Bash

在 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 就可以正常工作了。