温馨提示×

Ubuntu SSH安全设置技巧

小樊
49
2025-07-25 13:12:59
栏目: 智能运维

确保Ubuntu SSH的安全性是非常重要的,因为SSH是远程访问服务器的主要方式之一。以下是一些提高Ubuntu SSH安全性的建议:

更改默认端口

  • 原因:使用默认端口(22)容易受到自动化攻击。
  • 操作:修改配置文件 /etc/ssh/sshd_config,添加或修改以下行:
    Port 2222 
  • 保存并退出编辑器,然后重启SSH服务:
    sudo systemctl restart sshd 

禁用root登录

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

使用密钥认证

  • 原因:密钥认证比密码认证更安全。
  • 操作
    • 生成密钥对:
      ssh-keygen -t rsa 
    • 将公钥添加到远程服务器的 ~/.ssh/authorized_keys 文件中。
    • 在本地机器上生成SSH密钥对:
      ssh-keygen -t rsa -b 4096 
    • 将公钥复制到服务器:
      ssh-copy-id user@server_ip 
  • 确保在 sshd_config 文件中启用了公钥认证
    PubkeyAuthentication yes 

限制SSH访问

  • 使用防火墙限制SSH访问,只允许特定IP地址访问SSH端口。
  • 使用 ufw (Uncomplicated Firewall)配置防火墙规则
    sudo ufw allow 2222/tcp sudo ufw enable 

使用Fail2Ban

  • Fail2Ban是一个入侵防御软件框架,可以监控日志文件并禁止恶意IP地址访问SSH。
  • 安装Fail2Ban
    sudo apt-get install fail2ban 
  • 配置Fail2Ban以监控SSH日志并禁止恶意IP地址
    • 编辑 /etc/fail2ban/jail.local 文件,在 [ssh] 部分进行如下配置:
      enabled = true port = 2222 filter = ssh logpath = /var/log/auth.log maxretry = 3 bantime = 600 
  • 重启Fail2Ban服务
    sudo systemctl restart fail2ban 

定期更新系统和软件

  • 定期更新Ubuntu系统和SSH软件包,以确保所有安全补丁都已应用。
  • 更新系统
    sudo apt update sudo apt upgrade 

0