IT袋

当前位置:主页 > 经验教程 > 系统教程 >

如何在Linux系统中设置SSH密钥身份验证

如何在Linux系统中设置SSH密钥身份验证(4)

时间:2024-03-08 20:49:32 来源:IT袋 作者:马勇
导读:如何在Linux系统中设置SSH密钥身份验证,:指定允许登录的用户组列表。 DenyGroups :指定禁止登录的用户组列表。 PermitRootLogin :禁用或限制 root 用户的远程登录。 示例: AllowUsers alice bobDenyUser

如何在Linux系统中设置SSH密钥身份验证

:指定允许登录的用户组列表。
  • DenyGroups:指定禁止登录的用户组列表。
  • PermitRootLogin:禁用或限制 root 用户的远程登录。
  • 示例:
    AllowUsers alice bob
    DenyUsers mallory
    AllowGroups sshusers
    DenyGroups badusers
    PermitRootLogin no

    以上配置将只允许用户 alice 和 bob 以及属于 sshusers 组的用户登录,同时拒绝用户 mallory 和属于 badusers 组的用户登录。此外,禁止 root 用户通过 SSH 远程登录。

    限制和加固SSH访问

    禁用密码身份验证

    为了提高 SSH 安全性,强烈建议禁用密码身份验证,仅使用密钥身份验证。

    在 /etc/ssh/sshd_config 文件中找到并修改以下行:

    PasswordAuthentication no

    然后重新启动 SSH 服务:

    sudo service ssh restart

    这样配置后,只有拥有有效私钥的用户才能够进行 SSH 登录,大大增加了系统的安全性。

    使用sshd_config文件设置访问限制

    sshd_config文件包含了 SSH 服务器的配置选项。通过修改这个文件,你可以设置一些限制,例如限制用户和 IP 地址的访问。

    打开 /etc/ssh/sshd_config 文件:

    sudo nano /etc/ssh/sshd_config
    限制用户访问:
    AllowUsers username

    username替换为允许访问的用户名。你还可以使用逗号分隔的列表允许多个用户。

    限制IP地址访问:
    AllowUsers username@your_ip

    username替换为允许访问的用户名,your_ip替换为允许访问的 IP 地址。

    允许特定IP地址段:
    AllowUsers username@192.168.1.*

    这样设置将允许来自192.168.1网段的所有 IP 地址的用户访问。

    保存文件后,重新启动 SSH 服务:

    sudo service ssh restart

    使用TCP Wrappers进行进一步访问控制

    在 /etc/hosts.allow 和 /etc/hosts.deny 文件中,你可以使用 TCP Wrappers 设置更复杂的主机访问控制规则。

    例如,在 /etc/hosts.allow 中添加以下行:

    sshd: 192.168.1.0/255.255.255.0

    这样将允许来自192.168.1网段的所有主机访问 SSH 服务。

    限制和加固SSH访问

    禁用密码身份验证

    禁用密码身份验证是提高 SSH 安全性的一种有效方法。通过仅允许使用密钥进行身份验证,可以防止恶意用户通过密码破解尝试来访问服务器。

    在目标服务器上打开 

    相关阅读