centos

如何在CentOS上禁用SSH密码登录

小樊
63
2025-08-16 13:15:23
栏目: 智能运维

在CentOS上禁用SSH密码登录可以通过以下步骤实现:

方法一:使用sshd_config文件

  1. 登录到你的CentOS服务器: 使用SSH密钥登录,或者通过其他方式(如控制台)登录。

  2. 编辑sshd_config文件: 打开终端并输入以下命令来编辑SSH配置文件:

    sudo vi /etc/ssh/sshd_config
    
  3. 找到并修改以下配置项

    • 找到PasswordAuthentication这一行,将其值改为no
      PasswordAuthentication no
      
    • 如果存在ChallengeResponseAuthentication,也建议将其设置为no
      ChallengeResponseAuthentication no
      
    • 如果存在UsePAM,确保其值为yes
      UsePAM yes
      
  4. 保存并退出编辑器: 按Esc键,然后输入:wq并按回车键保存并退出。

  5. 重启SSH服务: 输入以下命令重启SSH服务以应用更改:

    sudo systemctl restart sshd
    

方法二:使用防火墙规则

如果你只想限制特定IP地址的访问,可以使用防火墙规则来实现:

  1. 登录到你的CentOS服务器: 使用SSH密钥登录,或者通过其他方式(如控制台)登录。

  2. 编辑防火墙规则: 打开终端并输入以下命令来编辑防火墙规则文件:

    sudo vi /etc/firewalld/zones/public.xml
    
  3. 添加SSH密钥认证规则: 在<service name="ssh">标签内添加以下内容:

    <auth>
        <method>publickey</method>
    </auth>
    
  4. 重新加载防火墙规则: 输入以下命令重新加载防火墙规则以应用更改:

    sudo firewall-cmd --reload
    

注意事项

通过以上步骤,你可以在CentOS上成功禁用SSH密码登录,提高服务器的安全性。

0
看了该问题的人还看了