Ubuntu SSH安全设置的要点包括以下几个方面:
-
安装和更新SSH服务:
- 确保Ubuntu系统上安装了OpenSSH服务器软件。可以通过运行
sudo apt update && sudo apt install openssh-server
来安装。 - 定期更新系统和软件包以修复安全漏洞。使用
sudo apt update && sudo apt upgrade
命令来更新系统。
- 确保Ubuntu系统上安装了OpenSSH服务器软件。可以通过运行
-
配置SSH服务器:
- 修改默认端口:默认情况下,SSH服务器使用端口22。为了增加安全性,建议将SSH端口修改为其他非标准端口。编辑
/etc/ssh/sshd_config
文件,找到“Port”行,并将端口号修改为您喜欢的任何数字。 - 禁用root登录:在
/etc/ssh/sshd_config
文件中,将PermitRootLogin
设置为no
,以禁止root用户直接通过SSH登录。 - 启用密钥认证:禁用密码认证,推荐使用密钥认证。在
/etc/ssh/sshd_config
文件中,将PasswordAuthentication
设置为no
。 - 限制允许登录的用户:通过配置文件
PermitUsers
来限制允许登录的用户。
- 修改默认端口:默认情况下,SSH服务器使用端口22。为了增加安全性,建议将SSH端口修改为其他非标准端口。编辑
-
使用防火墙:
- 使用UFW(Uncomplicated Firewall)来限制对系统的访问,只允许必要的端口和服务,如SSH。可以运行
sudo ufw allow ssh
来打开SSH端口。
- 使用UFW(Uncomplicated Firewall)来限制对系统的访问,只允许必要的端口和服务,如SSH。可以运行
-
密钥认证:
- 生成SSH密钥对:使用
ssh-keygen
命令生成RSA或ED25519密钥对。 - 部署公钥到服务器:使用
ssh-copy-id
命令将公钥复制到远程服务器的authorized_keys
文件中,或手动将公钥内容追加到远程服务器的~/.ssh/authorized_keys
文件中。
- 生成SSH密钥对:使用
-
安全增强措施:
- 部署Fail2Ban来防御暴力破解攻击。
- 定期检查系统日志,监控系统日志以及时发现异常行为或攻击。
-
客户端配置:
- 使用SSH客户端连接到远程服务器时,确保使用正确的用户名和端口号。
通过上述措施,可以显著提高Ubuntu系统的SSH安全性,保护系统和数据不受未经授权的访问和攻击。