当我试图ssh到另一个盒子,我得到这个奇怪的错误
$ ssh hostname Bad owner or permissions on ~/.ssh/config
但是我确信我拥有并拥有rw文件的权限:
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
我需要在config上拥有用户权限的权限。 这固定它。
chmod 600 ~/.ssh/config
正如其他人已经注意到,它可能是文件的所有者。 (upvote他们!)
chown $USER ~/.ssh/config
这些命令应该修复权限问题:
chown $USER ~/.ssh/config chmod 644 ~/.ssh/config
如果这些文件是由不同用户拥有的(或者您无权访问它们),则使用sudo
前缀。
如果更多文件受到影响,请用*
replaceconfig
。
在man ssh
我们可以阅读:
由于存在滥用的可能性,该文件必须具有严格的权限:对用户进行读取/写入,而不能被其他人写入。 如果所涉及的群组仅包含用户,则它可以是可分组的。
对我来说,这是我的用户帐户不是文件的所有者的问题
sudo chown myuser ~/.ssh/config