LinuxSSH安全加固_禁用密码登录

6次阅读

禁用密码登录是提升linux服务器ssh安全性的关键一步,核心在于只允许密钥对认证:先确保密钥登录稳定可用,再修改sshd_config禁用passwordauthentication、challengeresponseauthentication和usepam,重启前用sshd -t验证语法,最后测试密钥登录成功且密码登录被拒。

LinuxSSH安全加固_禁用密码登录

禁用密码登录是提升Linux服务器SSH安全性的关键一步,核心在于只允许使用密钥对认证,杜绝暴力破解和弱口令风险。

确认已配置好SSH密钥登录

禁用密码前必须确保密钥登录已稳定可用,否则可能被锁在服务器外:

  • 在本地生成密钥对(如未做):ssh-keygen -t ed25519,推荐使用ed25519算法
  • 将公钥复制到服务器:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
  • 新终端中测试密钥登录是否成功,不输入密码即可登入
  • 建议保留一个已验证的会话不退出,用于回滚操作

修改SSH服务配置禁用密码认证

编辑主配置文件,关闭密码及其它不安全认证方式:

  • 执行:sudo nano /etc/ssh/sshd_config
  • 找到并修改以下参数(取消注释并设为no):
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no(若启用PAM且未专门配置密码策略,建议关闭)
  • 可选但推荐:设置PubkeyAuthentication yes显式开启密钥认证

重启SSH服务并验证配置

配置保存后需重载服务,同时防范因配置错误导致连接中断:

  • 先检查语法是否正确:sudo sshd -t,无输出表示配置合法
  • 重启服务:sudo systemctl restart sshdubuntu/debian)或 sudo systemctl restart sshdcentos/RHEL)
  • 在另一终端尝试新连接,确认仍能用密钥登录
  • 尝试用密码登录(如ssh -o PubkeyAuthentication=no user@server),应被拒绝

额外加固建议(非必须但强烈推荐)

仅禁用密码还不够,配合以下措施可显著提升SSH整体安全性:

  • 修改默认端口(如改为2222),减少自动化扫描干扰
  • 限制可登录用户:AllowUsers deploy adminAllowGroups sshusers
  • 启用Fail2ban监控并自动封禁异常登录IP
  • 定期轮换密钥,尤其对离职人员或高危设备及时清理公钥(~/.ssh/authorized_keys
text=ZqhQzanResources