Centos

全新安裝 CentOS 6 中 /home/user/.ssh 目錄的 chown、chmod 和錯誤設置

  • November 5, 2011

我昨晚剛剛完成了 CentOS 6 的安裝(來自 georgia tech repository 的 netinstall),當我嘗試從 CentOS 機器(在我的家庭網路後面)通過 SSH 連接到我的一個面向公眾的 Web 伺服器時遇到了一些奇怪的 SSH 問題。

在新機器上執行 ssh-keygen(我們稱之為伺服器 A)並將公鑰複製到伺服器 B 後,我嘗試從 A SSH 到 B。我遇到了一些權限問題,所以做了幾個 chmod(嘗試將 id_rsa.pub 從 644 更改為 0600,然後將 .ssh 目錄更改為 0600)。

作為背景資訊,我昨晚能夠成功地 ssh(使用 rsync -e “ssh -i…")從伺服器 A 到伺服器 B。在 7 小時前和我開始遇到問題之間沒有進行任何更改早晨。

這是目前的情況:

伺服器 A 上的使用者名是 dwhite。當我以 root 身份執行 .ssh 目錄的 ls -la 時,我看到:drw——-。2 dwhite dwhite 4096 Nov 5 05:38 .ssh

但是,當我嘗試將 ls -la 作為 dwhite 執行時,我得到的權限被拒絕。所以我 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

所以我 sudo’d 回到 root 並執行: chown -R dwhite.dwhite /home/dwhite/.ssh/

以 dwhite 身份返回,執行 ls -la:完全相同的事情

世界上到底發生了什麼?我錯過了什麼?由於這是一個全新的安裝,我不得不相信這是使用者錯誤,但我絕對被難住了。

然後將 .ssh 目錄修改為 0600

當我以 root 身份執行 .ssh 目錄的 ls -la 時,我看到:

drw-------. 2 dwhite dwhite 4096 Nov 5 05:38 .ssh

~/.ssh目錄應具有 700 權限。ls由於缺少執行權限,您會在輸出中看到問題遮罩。所以,試試這個:

# chmod u+x /home/dwhite/.ssh

引用自:https://serverfault.com/questions/328094