售前咨询400-838-0503

如何配置Linux云服务器的SSH登录限制?

发布:2025-05-05 09:11

Linux云服务器SSH登录安全配置全攻略

在云计算时代,SSH作为远程管理Linux服务器的标准协议,其安全性配置尤为重要。本文将详细介绍5个关键步骤,帮助您打造钢铁般的SSH防护体系。

一、修改默认SSH端口

大多数自动化攻击都针对默认的22端口。修改端口号是最简单有效的第一道防线:

# 编辑SSH配置文件
sudo nano /etc/ssh/sshd_config

# 找到Port 22并修改为其他端口(建议1024-65535之间)
Port 58239

# 重启SSH服务
sudo systemctl restart sshd

注意:修改后需确保防火墙开放新端口,同时保留原有终端会话以防配置错误导致无法连接。

二、禁止root用户直接登录

root账户是黑客的首要目标,禁用其SSH权限可大幅降低风险:

# 在sshd_config中添加
PermitRootLogin no

# 创建普通管理员账户
sudo adduser admin
sudo usermod -aG sudo admin

建议配置完成后,先使用新账户测试登录,确认无误后再退出root会话。

三、配置密钥认证

密码认证易受暴力破解攻击,密钥认证安全性更高:

  1. 本地生成密钥对:ssh-keygen -t rsa -b 4096
  2. 上传公钥到服务器:ssh-copy-id -p 端口号 用户名@服务器IP
  3. 禁用密码认证:
    # 在sshd_config中设置
    PasswordAuthentication no
    PubkeyAuthentication yes
    

建议将私钥保存在加密的USB设备中,避免存储在本地计算机。

四、设置Fail2Ban防御系统

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

# 安装Fail2Ban
sudo apt install fail2ban  # Ubuntu/Debian
sudo yum install fail2ban  # CentOS/RHEL

# 创建自定义配置
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

配置示例(添加到jail.local):

[sshd]
enabled = true
port = 58239
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h

五、高级防护措施

  • 双因素认证: 安装Google Authenticator模块
  • IP白名单: 在sshd_config中添加AllowUsers [email protected].*
  • 连接超时: 设置ClientAliveInterval 300ClientAliveCountMax 2
  • 日志监控: 定期检查/var/log/auth.log异常登录尝试

最佳实践建议

配置完成后应进行以下验证:

  1. 在新终端测试所有配置更改
  2. 设置备用访问通道(如控制台连接)
  3. 定期备份sshd_config文件
  4. 每季度审查一次安全设置

通过以上多层防护,您的Linux云服务器SSH安全性将得到显著提升,有效抵御99%的自动化攻击。

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

提交工单