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 服务器的行为和安全性。根据你的具体需求,合理配置这些参数可以提高系统的安全性和可用性。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。