权限被拒绝给所有者,尽管它在 .ssh 目录中设置为 666

SoW*_*hat 13 ssh permissions chmod

我最近弄乱了 .ssh 目录。做了一些权限更改,我想现在它不会让我再访问它了。我可以以 root 用户(sudo -i)的身份访问它,但不能以 user1 的身份访问它

列出或进入 .ssh 时,我的权限被拒绝,即使它显示了文件

ls: cannot access /home/user1/.ssh/amazon.pem: Permission denied
ls: cannot access /home/user1/.ssh/id_rsa: Permission denied
ls: cannot access /home/user1/.ssh/known_hosts: Permission denied
ls: cannot access /home/user1/.ssh/id_rsa.pub: Permission denied
total 0
-????????? ? ? ? ?            ? amazon.pem
-????????? ? ? ? ?            ? id_rsa
-????????? ? ? ? ?            ? id_rsa.pub
-????????? ? ? ? ?            ? known_hosts
Run Code Online (Sandbox Code Playgroud)

以 root 和 ls 身份登录会得到以下结果

# ls -l /home/user1/ -a |grep ssh
drw-rw-rw-  2 user1 user1 4096 Aug 27 15:45 .ssh
Run Code Online (Sandbox Code Playgroud)

即使里面的文件是 .ssh 也归 user1:user1 和 chm 所有

-rw-rw-rw- 1 user1 user1 1692 Aug 27 15:45 amazon.pem
-rw-rw-rw- 1 user1 user1 1675 Aug 25 20:01 id_rsa
Run Code Online (Sandbox Code Playgroud)

Jak*_*uje 26

Steeldriver 是对的。在目录上,您还需要x访问标志才能列出其中的文件。

使用修复目录chmod 700 ~/.ssh应该可以帮助您进入此(正确)状态:

$ ls -ld ~/.ssh
drwx------. 2 user user 4096 Aug 26 10:37 /home/user/.ssh
Run Code Online (Sandbox Code Playgroud)

您还应该使用chmod 600 ~/.ssh/id_rsachmod 644 ~/.ssh/*.pub来修复您的密钥:

$ ls -l ~/.ssh/
-rw-------. 1 user user  1766 Mar  7  2014 id_rsa
-rw-r--r--. 1 user user   415 Mar  7  2014 id_rsa.pub
Run Code Online (Sandbox Code Playgroud)