ubuntu

ubuntu ssh如何确保安全

小樊
51
2025-04-03 08:37:00
栏目: 智能运维

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

  1. 更改默认端口: 默认情况下,SSH使用端口22。将SSH服务更改为使用非标准端口可以减少自动化攻击的风险。

    编辑SSH配置文件:

    sudo nano /etc/ssh/sshd_config
    

    找到#Port 22这一行,取消注释并更改为你选择的端口号,例如:

    Port 2222
    

    保存并退出编辑器,然后重启SSH服务:

    sudo systemctl restart ssh
    
  2. 禁用root登录: 编辑SSH配置文件:

    sudo nano /etc/ssh/sshd_config
    

    找到PermitRootLogin这一行,将其设置为no

    PermitRootLogin no
    

    这样可以防止root用户直接通过SSH登录,从而增加一层安全保护。

  3. 使用公钥认证: 使用公钥认证而不是密码认证可以大大提高安全性。生成SSH密钥对并将其添加到服务器的authorized_keys文件中。

    在本地机器上生成SSH密钥对:

    ssh-keygen -t rsa -b 4096
    

    将公钥复制到服务器:

    ssh-copy-id user@server_ip -p 2222
    

    确保在sshd_config文件中启用了公钥认证:

    PubkeyAuthentication yes
    
  4. 限制SSH访问: 使用防火墙限制SSH访问,只允许特定IP地址访问SSH端口。

    使用ufw(Uncomplicated Firewall)配置防火墙规则:

    sudo ufw allow 2222/tcp
    sudo ufw enable
    
  5. 使用Fail2Ban: Fail2Ban是一个入侵防御软件框架,可以监控日志文件并禁止恶意IP地址访问SSH。

    安装Fail2Ban:

    sudo apt-get install fail2ban
    

    配置Fail2Ban以监控SSH日志并禁止恶意IP地址:

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    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
    
  6. 定期更新系统和软件: 定期更新Ubuntu系统和SSH软件包,以确保所有安全补丁都已应用。

    更新系统:

    sudo apt-get update
    sudo apt-get upgrade
    

通过以上步骤,你可以显著提高Ubuntu SSH的安全性。记住,安全性是一个持续的过程,需要定期检查和更新你的安全措施。

0
看了该问题的人还看了