售前咨询400-838-0503

如何配置Linux云服务器的SSH安全?

技术文档 2025-04-22 08:34

Linux云服务器SSH安全配置终极指南

在数字化时代,云服务器的安全性至关重要。作为Linux系统管理员,SSH(Secure Shell)是我们远程管理服务器的首要工具,但同时也是黑客重点攻击的目标。本文将详细介绍如何通过8个关键步骤强化您的Linux云服务器SSH安全配置。

一、修改默认SSH端口

默认的SSH端口22是黑客扫描的首要目标。我们可以通过以下步骤修改SSH端口:

  1. 使用root用户登录服务器
  2. 编辑SSH配置文件:vim /etc/ssh/sshd_config
  3. 找到#Port 22这一行,取消注释并修改为其他端口号(如23456)
  4. 保存文件后重启SSH服务:systemctl restart sshd
  5. 别忘了在防火墙中开放新端口

注意:避免使用知名服务端口(如80、443),建议选择1024-65535之间的端口。

二、禁用root用户SSH登录

直接使用root账户通过SSH登录是非常危险的做法:

# 在sshd_config中添加或修改:
PermitRootLogin no
    

修改后,建议先创建具有sudo权限的普通用户,并测试该用户能否正常登录,再禁用root登录。

三、配置SSH密钥认证

相比密码认证,密钥认证更安全且能防止暴力破解:

  1. 本地生成密钥对:ssh-keygen -t rsa -b 4096
  2. 将公钥上传到服务器:ssh-copy-id -p 23456 user@server_ip
  3. 在sshd_config中设置:PasswordAuthentication no
  4. 重启SSH服务使配置生效

建议为密钥设置强密码(passphrase),并将私钥妥善保管。

四、启用双因素认证(2FA)

为进一步增强安全性,可以配置Google Authenticator:

  1. 安装Google Authenticator:sudo apt install libpam-google-authenticator
  2. 运行配置向导:google-authenticator
  3. 修改PAM配置:vim /etc/pam.d/sshd
  4. 添加:auth required pam_google_authenticator.so
  5. 在sshd_config中设置:ChallengeResponseAuthentication yes

五、配置Fail2Ban防暴力破解

Fail2Ban可以自动封禁多次尝试失败的IP:

  1. 安装Fail2Ban:sudo apt install fail2ban
  2. 创建本地配置文件:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  3. 编辑jail.local,调整bantime、findtime和maxretry参数
  4. 启动服务:sudo systemctl start fail2ban

建议设置合理的封禁时间(如24小时),并监控Fail2Ban日志。

六、限制SSH访问IP

如果服务器有固定访问来源,可以限制允许连接的IP:

# 使用iptables限制访问:
iptables -A INPUT -p tcp --dport 23456 -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -p tcp --dport 23456 -j DROP

# 或使用TCP Wrappers:
# 在/etc/hosts.allow中添加:
sshd: 192.168.1.100
# 在/etc/hosts.deny中添加:
sshd: ALL
    

七、保持SSH服务更新

定期更新SSH服务是安全的重要环节:

  • 启用自动安全更新:sudo apt install unattended-upgrades
  • 定期检查更新:sudo apt update && sudo apt upgrade openssh-server
  • 关注CVE漏洞公告,及时修补安全漏洞

八、SSH安全配置检查清单

配置项 推荐值 检查命令
SSH端口 非22端口 grep ^Port /etc/ssh/sshd_config
Root登录 禁止 grep ^PermitRootLogin /etc/ssh/sshd_config
密码认证 禁用 grep ^PasswordAuthentication /etc/ssh/sshd_config

总结

通过以上8个步骤,您的Linux云服务器SSH安全性将得到显著提升。安全是一个持续的过程,建议定期审查SSH日志(/var/log/auth.log),并关注最新的安全威胁。记住,没有绝对的安全,但我们可以通过合理的配置将风险降到最低。

最后提醒:在进行任何SSH配置修改前,请确保您有另一种访问服务器的途径(如控制台访问),以防配置错误导致无法连接。

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单