Rob*_*ert 520 ssh file-permissions
当我尝试 ssh 到另一个盒子时,出现这个奇怪的错误
$ ssh hostname
Bad owner or permissions on ~/.ssh/config
Run Code Online (Sandbox Code Playgroud)
但我确保我拥有该文件并拥有 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
Run Code Online (Sandbox Code Playgroud)
Rob*_*ert 810
我需要只有用户才能拥有 rw 对配置的权限。这修复了它。
chmod 600 ~/.ssh/config
Run Code Online (Sandbox Code Playgroud)
正如其他人在下面指出的那样,它可能是文件所有者。(给他们点赞!)
chown $USER ~/.ssh/config
Run Code Online (Sandbox Code Playgroud)
ken*_*orb 101
这些命令应该可以解决权限问题:
chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config
Run Code Online (Sandbox Code Playgroud)
sudo如果文件由不同的用户拥有(或者您无权访问它们),请添加前缀。
如果更多文件受到影响,请替换config为*.
在man ssh我们可以读到:
由于存在滥用的可能性,此文件必须具有严格的权限:用户读/写,其他人不可写。如果所讨论的组仅包含用户,则它可以是组可写的。
小智 16
对我来说,这是我的用户帐户不是文件所有者的问题
sudo chown myuser ~/.ssh/config
Run Code Online (Sandbox Code Playgroud)
Nat*_*idd 12
如果在适用于 Linux 的 Windows 子系统 (WSL) 上,并且您将 WSL 主目录指向 Windows 主目录(不推荐!),则 chmod 无效。在您可以chmod添加其他答案中提到的文件之前,您必须添加
[automount]
options = "metadata"
Run Code Online (Sandbox Code Playgroud)
你/etc/wsl.conf再重启WSL(需要建造17093或更高版本)。
挂载前说:
C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,case=off)
Run Code Online (Sandbox Code Playgroud)
挂载后说:
C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,metadata,case=off)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
423776 次 |
| 最近记录: |