要提升Ubuntu SSH的安全性,可以采取以下措施:
安装和配置OpenSSH服务
- 安装OpenSSH服务器:
sudo apt update sudo apt install openssh-server
- 启动并检查SSH服务状态:
sudo systemctl start ssh sudo systemctl status ssh
- 配置SSH服务:
- 编辑
/etc/ssh/sshd_config
文件,设置以下参数:Port 2222 # 更改默认端口 PermitRootLogin no # 禁用root登录 PasswordAuthentication no # 禁用密码登录,推荐使用密钥登录 Match Group sftp_users ChrootDirectory /home/\u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
- 重启SSH服务以应用更改:
sudo systemctl restart ssh
- 编辑
使用密钥认证
- 生成密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 将公钥复制到服务器:
ssh-copy-id user@your_server_ip
- 在客户端配置密钥认证:
- 使用PuTTYgen等工具将私钥转换为PuTTY支持的格式,并在PuTTY中配置。
配置防火墙
- 使用UFW允许SSH连接:
sudo ufw allow ssh sudo ufw enable
- 限制IP访问:
- 编辑
/etc/ssh/sshd_config
,添加AllowUsers
和AllowGroups
选项,限制允许连接的用户和组。
- 编辑
定期更新系统和软件
- 保持系统和软件更新:
sudo apt update && sudo apt upgrade
- 安装unattended-upgrades包实现自动更新:
sudo apt install unattended-upgrades
监控和日志记录
- 查看登录日志:
sudo cat /var/log/auth.log | grep 'sshd'
- 使用Fail2Ban防止暴力破解:
- 安装并配置Fail2Ban,编辑
/etc/fail2ban/jail.conf
文件。
- 安装并配置Fail2Ban,编辑
其他安全措施
- 禁用不必要的SSH服务:
- 关闭不需要的网络服务,减少系统的攻击面。
- 使用强密码策略:
- 设置复杂的密码,并定期更换。
- 启用两步验证:
- 在登录时启用两步验证,提高账户的安全性。
通过上述措施,可以显著提高Ubuntu SSH的安全性,保护系统和数据不受未经授权的访问和攻击。