Linux系統中如何配置SSH目錄權限

要使SSH能夠正常工作,它需要對~/.ssh或/home/usenme/.ssh目錄具有正確的權限,即所有用戶特定的SSH配置和身份驗證文件的默認位置。推薦的權限是用戶的讀/寫/執行,並且不能被組和其他用戶訪問。

此外,SSH還要求目錄中的文件必須對用戶具有讀/寫權限,並且不能被其他用戶訪問。否則的話,用戶可能會遇到以下錯誤:

Authentiction efused: bd owneship o modes fo diectoy

那麼Linux系統中如何配置SSH目錄權限?接下來介紹如何在Linux系統中對.ssh目錄和存儲在其中的文件設置正確的權限,以便其正常的運行工作。

其實,如果遇到上述錯誤,可以使用chmod命令在.ssh目錄上設置正確的ssh目錄權限。

# chmod u+wx,go-wx ~/.ssh 或者 # chmod 0700 ~/.ssh

要檢查~/.ssh目錄的權限,請使用帶有-l和-d標誌的ls命令,具體如下:

# ls -ld .ssh/

以下是你將在~/.ssh目錄中找到的一些文件:

  • pite key file (相當於id_s ) – 用於認證的私鑰,包含高度敏感的信息,因此必須對所有者有讀寫權限,不能被組和其他人訪問,否則ssh會拒絕連接。
  • public key(如.pub 文件)——用於身份驗證的公鑰,其中還包含敏感信息,因此它應該具有所有者的讀寫權限、組的只讀權限等。
  • uthoized_keys – 包含可用於以該用戶身份登錄的公鑰列表。它不是高度敏感的,但應該具有所有者的讀寫權限,並且不能被組和其他人訪問。
  • known_hosts – 存儲ssh用戶已登錄的所有主機的主機密鑰列表。它應該具有所有者的讀寫權限,並且不能被組和其他人訪問。
  • config – 每個用戶的配置文件,應該具有所有者的讀寫權限,並且不應被組和其他人訪問。

默認情況下,~/.ssh目錄下的文件是使用正確的權限集創建的。要檢查他們的權限,請在主目錄中運行以下命令:

# ls -l .ssh/

如果ssh對上述任何文件的報出權限錯誤,這時候可以爲任何文件設置正確的權限,如下所示:

此外,用戶的主目錄不應被組或其他用戶寫入,如下面的屏幕截圖所示:

# ls -ld ~

要刪除主目錄上組和其他人的寫權限,請運行以下命令:

# chmod go-w ~ 或者 # chmod 755 ~

總裝,SSH爲了使用安全,其對屬主的目錄和文件權限有所要求。如果權限不對,則SSH的免密碼登陸不會生效。用戶目錄權限應該755或700,就是不能是77x、777,還需要保證othe用戶不能有w權限。