在Ubuntu系统中,可以通过配置SSH服务来提高安全性。以下是一些常见的安全策略设置:
默认情况下,SSH使用端口22。为了减少被扫描和攻击的风险,可以将SSH端口更改为一个不常用的端口。
编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config
找到并修改以下行:
Port 22
将其更改为其他端口号,例如:
Port 2222
保存并退出编辑器,然后重启SSH服务:
sudo systemctl restart sshd
为了防止直接通过SSH登录root账户,可以禁用root登录。
编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config
找到并修改以下行:
PermitRootLogin yes
将其更改为:
PermitRootLogin no
保存并退出编辑器,然后重启SSH服务:
sudo systemctl restart sshd
使用公钥认证比密码认证更安全。可以生成SSH密钥对并将公钥添加到服务器的authorized_keys
文件中。
在本地机器上生成SSH密钥对:
ssh-keygen -t rsa -b 4096
将公钥复制到服务器:
ssh-copy-id user@server_ip -p 2222
编辑SSH配置文件以禁用密码认证:
sudo nano /etc/ssh/sshd_config
找到并修改以下行:
PasswordAuthentication yes
将其更改为:
PasswordAuthentication no
保存并退出编辑器,然后重启SSH服务:
sudo systemctl restart sshd
可以通过配置sshd_config
文件来限制特定用户或IP地址的登录。
例如,限制特定IP地址登录:
AllowUsers user@192.168.1.100
或者限制特定用户登录:
AllowUsers user1 user2
保存并退出编辑器,然后重启SSH服务:
sudo systemctl restart sshd
使用防火墙(如ufw
)来限制对SSH端口的访问。
启用防火墙:
sudo ufw enable
允许特定端口(例如2222)的访问:
sudo ufw allow 2222/tcp
查看防火墙状态:
sudo ufw status
定期更新系统和SSH服务以修补安全漏洞,并定期审计SSH配置文件和日志文件以确保没有异常活动。
通过以上步骤,可以显著提高Ubuntu系统中SSH服务的安全性。