我昨晚刚刚完成 CentOS 6 的安装(从 georgia tech 存储库进行网络安装),当我尝试从 CentOS 框(在我的家庭网络后面)通过 SSH 连接到我的面向公众的 Web 服务器之一时遇到了一些奇怪的 SSH 问题。
在新机器 (我们称之为服务器 A) 上运行 ssh-keygen,并将公钥复制到服务器 B 之后,我尝试从 A 通过 SSH 进入 B。我遇到了一些权限问题,因此进行了几次 chmod (尝试将 id_rsa.pub 从 644 更改为 0600,然后将 .ssh 目录 chmod 为 0600)。
作为背景信息,昨晚我能够成功地从服务器 A ssh(使用 rsync -e“ssh -i...”)进入服务器 B。从那时到今天早上开始遇到问题之间 7 小时没有发生任何变化。
目前的情况如下:
服务器 A 上的用户名是 dwhite。当我以 root 身份对 .ssh 目录执行 ls -la 时,我看到:drw-------。2 dwhite dwhite 4096 Nov 5 05:38 .ssh
但是当我尝试以 dwhite 身份执行 ls -la 时,我得到了权限被拒绝的信息。因此我使用 sudo 进入 root 并将 .ssh 目录的 chmod 恢复为 644。我回到 dwhite 的帐户,然后运行 ls -la:
[dwhite@local ~]$ ls -la .ssh/
ls: cannot access /home/dwhite/.ssh/known_hosts: Permission denied
ls: cannot access /home/dwhite/.ssh/..: Permission denied
ls: cannot access /home/dwhite/.ssh/.: Permission denied
ls: cannot access /home/dwhite/.ssh/id_rsa: Permission denied
ls: cannot access /home/dwhite/.ssh/id_rsa.pub: Permission denied
total 0
d????????? ? ? ? ? ? .
d????????? ? ? ? ? ? ..
-????????? ? ? ? ? ? id_rsa
-????????? ? ? ? ? ? id_rsa.pub
-????????? ? ? ? ? ? known_hosts
所以我回到 root 并运行:chown -R dwhite.dwhite /home/dwhite/.ssh/
回到 dwhite 模式,运行 ls -la:结果完全一样
到底发生了什么?我错过了什么?由于这是全新安装,我不得不相信这是用户错误,但我完全不知所措。
答案1
然后将 .ssh 目录 chmod 为 0600
当我以 root 身份对 .ssh 目录执行 ls -la 时,我看到:
drw-------. 2 dwhite dwhite 4096 Nov 5 05:38 .ssh
该目录应具有 700 权限。由于缺少执行权限,~/.ssh
您会在输出中看到问题掩码。因此,请尝试以下操作:ls
# chmod u+x /home/dwhite/.ssh