温馨提示×

ubuntu ssh如何保障安全

小樊
63
2025-07-21 12:32:00
栏目: 智能运维

要保障Ubuntu SSH的安全,可以采取以下措施:

修改默认端口

  • 原因:使用默认端口(22)容易受到自动化攻击。
  • 操作:编辑 /etc/ssh/sshd_config 文件,将端口设置为非标准端口(如2222),以减少被自动扫描工具发现的几率。
    Port 2222
    
  • 重启SSH服务
    sudo systemctl restart sshd
    

禁用root登录

  • 原因:root用户直接登录存在安全风险。
  • 操作:在配置文件 /etc/ssh/sshd_config 中设置:
    PermitRootLogin no
    
  • 重启SSH服务
    sudo systemctl restart sshd
    

使用密钥认证

  • 原因:密钥认证比密码认证更安全。
  • 操作
    • 在本地机器上生成SSH密钥对:
      ssh-keygen -t rsa -b 4096
      
    • 将公钥复制到远程服务器的 ~/.ssh/authorized_keys 文件中:
      ssh-copy-id user@server_ip
      
  • 配置SSH服务器:确保远程服务器的SSH配置允许密钥认证。编辑远程服务器上的 /etc/ssh/sshd_config 文件,确保以下行没有被注释掉:
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    
  • 重启SSH服务
    sudo systemctl restart sshd
    

限制SSH访问

  • 使用防火墙:使用UFW(Uncomplicated Firewall)限制SSH端口的访问。
    sudo ufw allow 2222/tcp
    sudo ufw enable
    
  • 使用Fail2Ban:Fail2Ban是一个入侵防御软件框架,可以监控日志文件并禁止恶意IP地址访问SSH。
    sudo apt get install fail2ban
    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.locals
    sudo nano /etc/fail2ban/jail.local
    
    [ssh] 部分进行如下配置:
    [ssh]
    enabled = true
    port = 2222
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 3
    bantime = 600
    
    重启Fail2Ban服务
    sudo systemctl restart fail2ban
    

定期更新系统和软件

  • 定期更新:保持Ubuntu系统和OpenSSH服务保持最新版本,以避免潜在的安全漏洞。
    sudo apt update
    sudo apt upgrade
    

其他安全建议

  • 使用强加密协议:确保使用较新且更安全的加密协议,如ECDSA密钥而不是DSA。
  • 监控和审计:启用SSH服务器的审计功能,记录所有登录尝试和活动,定期检查日志文件。
  • 密钥管理:定期更换服务器和用户密钥(建议每6-12个月)。

通过以上步骤,可以显著提高Ubuntu SSH的安全性,保护系统和数据不受未经授权的访问和攻击。

0