rkey

rkey

sshd_config檔案參數詳解

文件路徑是
/etc/ssh/sshd_config

參數詳解:

當然可以,以下是對 sshd_config 文件中一些常見參數的解釋:

1. Include /etc/ssh/sshd_config.d/*.conf#

  • 含義:包含 /etc/ssh/sshd_config.d/ 目錄下所有以 .conf 結尾的配置文件。這允許將配置分散到多個文件中,便於管理和維護。
  • 作用:使得配置文件更加模組化,方便在不同場景下添加或修改配置。

2. PermitRootLogin yes#

  • 含義:允許 root 用戶通過 SSH 登錄。
  • 作用:如果設置為 yes,root 用戶可以使用密碼或密鑰登錄。如果設置為 prohibit-password,root 用戶只能使用密鑰登錄,不能使用密碼。如果設置為 without-passwordwithout-password,prohibit-password,則 root 用戶不能使用密碼登錄,但可以使用密鑰登錄。如果設置為 no,則 root 用戶不能通過 SSH 登錄。

3. AuthorizedKeysFile .ssh/authorized_keys#

  • 含義:指定存儲授權的公鑰文件的路徑。
  • 作用:默認情況下,SSH 會在用戶的 ~/.ssh/authorized_keys 文件中查找授權的公鑰。這個文件包含了允許登錄的公鑰列表。

4. PasswordAuthentication yes#

  • 含義:是否允許使用密碼進行認證。
  • 作用:如果設置為 yes,允許用戶使用密碼登錄。如果設置為 no,則禁止使用密碼登錄,只能使用密鑰或其他認證方式。

5. PermitEmptyPasswords no#

  • 含義:是否允許空密碼登錄。
  • 作用:如果設置為 yes,允許使用空密碼登錄。如果設置為 no,則不允許空密碼登錄。出於安全考慮,通常建議設置為 no

6. KbdInteractiveAuthentication yes#

  • 含義:是否允許鍵盤交互式認證。
  • 作用:如果設置為 yes,允許使用鍵盤交互式認證,如 PAM(Pluggable Authentication Modules)認證。這通常用於多因素認證。

7. UsePAM no#

  • 含義:是否使用 PAM 進行認證、賬戶處理和會話處理。
  • 作用:如果設置為 yes,SSH 將使用 PAM 進行認證。這允許通過 PAM 配置文件進行更複雜的認證策略,如多因素認證、賬戶鎖定等。如果設置為 no,則不使用 PAM。

8. Subsystem sftp /usr/lib/ssh/sftp-server#

  • 含義:定義 SFTP 子系統。
  • 作用:指定 SFTP 服務的路徑。SFTP 是 SSH 文件傳輸協議,用於安全地傳輸文件。/usr/lib/ssh/sftp-server 是 SFTP 伺服器的默認路徑。

9. Match User anoncvs#

  • 含義:匹配特定用戶或用戶組的配置。
  • 作用:可以為特定用戶或用戶組設置特定的配置。例如,可以禁用某個用戶的 X11 轉發、TCP 轉發或 TTY 分配。

10. X11Forwarding no#

  • 含義:是否啟用 X11 轉發。
  • 作用:如果設置為 yes,允許通過 SSH 轉發 X11 圖形界面。這對於遠程運行圖形界面應用程序很有用。如果設置為 no,則禁止 X11 轉發。

11. AllowTcpForwarding yes#

  • 含義:是否允許 TCP 轉發。
  • 作用:如果設置為 yes,允許通過 SSH 轉發 TCP 連接。這對於設置端口轉發很有用。如果設置為 no,則禁止 TCP 轉發。

12. PermitTTY yes#

  • 含義:是否允許分配 TTY。
  • 作用:如果設置為 yes,允許為登錄會話分配 TTY。這對於交互式 shell 會話很有用。如果設置為 no,則禁止分配 TTY,通常用於非交互式會話,如命令執行或 SFTP。

13. PrintMotd yes#

  • 含義:是否打印 motd(Message of the Day)文件。
  • 作用:如果設置為 yes,在用戶登錄時打印 /etc/motd 文件的內容。這個文件通常包含系統公告或重要信息。

14. PrintLastLog yes#

  • 含義:是否打印上次登錄信息。
  • 作用:如果設置為 yes,在用戶登錄時打印上次登錄的時間和地點。這有助於用戶了解賬戶的使用情況。

15. TCPKeepAlive yes#

  • 含義:是否啟用 TCP 保持活動狀態。
  • 作用:如果設置為 yes,SSH 會定期發送保持活動狀態的包,以防止連接超時。如果設置為 no,則不發送保持活動狀態的包。

16. UseDNS no#

  • 含義:是否使用 DNS 解析客戶端的 IP 地址。
  • 作用:如果設置為 yes,SSH 會嘗試通過 DNS 解析客戶端的 IP 地址。如果設置為 no,則不進行 DNS 解析,這可以提高連接速度,尤其是在 DNS 解析較慢的情況下。

17. ClientAliveInterval 0#

  • 含義:客戶端保持活動狀態的間隔時間(秒)。
  • 作用:如果設置為非零值,SSH 會定期發送保持活動狀態的包,以防止連接超時。例如,設置為 60 表示每 60 秒發送一次保持活動狀態的包。

18. ClientAliveCountMax 3#

  • 含義:在斷開連接之前,未收到客戶端響應的最大次數。
  • 作用:如果設置為 3,表示在連續三次未收到客戶端響應後,SSH 會斷開連接。這有助於自動清理死連接。

19. PidFile /run/sshd.pid#

  • 含義:指定 SSH 伺服器的 PID 文件路徑。
  • 作用:PID 文件用於記錄 SSH 伺服器的進程 ID,便於管理和監控。

20. MaxStartups 10:30:100#

  • 含義:控制同時啟動的未認證連接的最大數量。
  • 作用:格式為 start:rate:full,其中 start 是開始拒絕新連接的未認證連接數,rate 是每個未認證連接增加的拒絕率,full 是完全拒絕新連接的未認證連接數。例如,10:30:100 表示當未認證連接數達到 10 時,每增加一個連接,拒絕率增加 30%,當未認證連接數達到 100 時,完全拒絕新連接。

21. Banner none#

  • 含義:指定登錄前顯示的橫幅文件路徑。
  • 作用:如果設置為文件路徑,SSH 會在用戶登錄前顯示該文件的內容。這可以用於顯示登錄警告或法律聲明。

22. ChrootDirectory none#

  • 含義:指定用戶的 chroot 目錄。
  • 作用:如果設置為目錄路徑,用戶登錄後將被限制在該目錄下,無法訪問其他目錄。這有助於提高系統的安全性。

23. VersionAddendum none#

  • 含義:在 SSH 伺服器的版本字符串中添加的附加信息。
  • 作用:如果設置為字符串,該字符串將添加到 SSH 伺服器的版本字符串中。這可以用於自定義版本信息。

24. Subsystem sftp /usr/lib/ssh/sftp-server#

  • 含義:定義 SFTP 子系統。
  • 作用:指定 SFTP 服務的路徑。SFTP 是 SSH 文件傳輸協議,用於安全地傳輸文件。/usr/lib/ssh/sftp-server 是 SFTP 伺服器的默認路徑。

25. Match User anoncvs#

  • 含義:匹配特定用戶或用戶組的配置。
  • 作用:可以為特定用戶或用戶組設置特定的配置。例如,可以禁用某個用戶的 X11 轉發、TCP 轉發或 TTY 分配。

這些參數的配置可以顯著影響 SSH 伺服器的行為和安全性。根據你的具體需求,合理配置這些參數可以提高系統的安全性和可用性。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。