售前咨询400-838-0503

如何在云服务器上禁用密码登录,仅允许密钥登录?

发布:2025-04-04 01:35

如何在云服务器上禁用密码登录,仅允许密钥登录?

在当今网络安全形势日益严峻的环境下,传统的密码登录方式已经变得越来越不安全。本文将详细介绍如何通过SSH密钥认证的方式,彻底关闭云服务器的密码登录功能,从而大幅提升服务器的安全性。

为什么要禁用密码登录?

密码登录存在诸多安全隐患:

  • 容易遭受暴力破解攻击
  • 用户可能设置弱密码
  • 密码可能在传输过程中被截获
  • 需要定期更换密码

准备工作

在开始配置前,请确保:

  1. 已经拥有服务器的SSH密钥对
  2. 公钥已经上传到服务器
  3. 可以通过密钥正常登录服务器

详细配置步骤

第一步:备份SSH配置文件

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

这个步骤非常重要,可以在配置出错时快速恢复。

第二步:编辑SSH配置文件

使用vim或nano编辑器打开配置文件:

sudo vim /etc/ssh/sshd_config

第三步:修改关键配置项

找到并修改以下参数:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
PermitRootLogin prohibit-password

第四步:重启SSH服务

修改完成后需要重启SSH服务使配置生效:

sudo systemctl restart sshd

第五步:测试配置

保持当前SSH会话不退出,新开终端测试:

  1. 尝试用密码登录,应该失败
  2. 尝试用密钥登录,应该成功

常见问题解决

问题1:配置后无法登录

解决方案:

  1. 通过云服务商的控制台登录
  2. 恢复备份的配置文件
  3. 检查密钥权限设置

问题2:SSH服务无法启动

解决方案:

sudo sshd -t

使用此命令检查配置文件语法错误。

高级安全建议

  • 修改默认SSH端口
  • 启用防火墙,仅允许特定IP访问
  • 定期轮换SSH密钥
  • 使用fail2ban防止暴力破解

总结

通过禁用密码登录并强制使用SSH密钥认证,可以显著提高云服务器的安全性。这种方法虽然初始配置稍复杂,但一旦完成,服务器将能够有效抵御大多数自动化攻击。建议所有云服务器管理员都采用这种更安全的认证方式。

小贴士

在实施这些更改前,建议在非生产环境先进行测试,确保所有配置都正确无误。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单