如何优化Linux云服务器的SSH安全配置?
常见问题
如何优化Linux云服务器的SSH安全配置?
2025-04-21 06:55
Linux云服务器
Linux云服务器SSH安全加固全攻略:7个必做配置项
为什么SSH安全如此重要?
根据2023年网络安全报告显示,未正确配置的SSH服务是云服务器被入侵的首要原因,占比高达37%。攻击者通过暴力破解、密钥泄露等方式获取服务器控制权后,可能植入挖矿程序、窃取数据或搭建僵尸网络。
典型案例:某电商平台因使用默认SSH端口和弱密码,导致黑客入侵后窃取200万用户数据,直接损失超过500万元。
7个关键安全配置步骤
1. 修改默认SSH端口(22)
# 编辑SSH配置文件
sudo nano /etc/ssh/sshd_config
# 修改Port参数(建议使用1024-65535之间的高端口)
Port 56234
# 重启服务生效
systemctl restart sshd
注意事项:需同步调整防火墙规则,确保新端口开放。阿里云/腾讯云等平台还需在安全组中配置。
2. 禁用root直接登录
PermitRootLogin no
改为使用普通用户登录后sudo
提权,可减少50%以上的暴力破解风险。
3. 启用密钥认证
相比密码认证,密钥认证安全性提升10倍以上:
- 本地生成密钥对:
ssh-keygen -t ed25519
- 上传公钥到服务器:
ssh-copy-id -p 56234 user@server_ip
- 配置SSH禁用密码登录:
PasswordAuthentication no
进阶防护措施
4. 配置Fail2Ban防御暴力破解
自动封禁多次尝试失败的IP:
# 安装
sudo apt install fail2ban
# 创建SSH防护配置
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# 修改maxretry=3 bantime=1h等参数
5. 启用两步验证(2FA)
通过Google Authenticator增加第二重防护:
- 安装PAM模块:
sudo apt install libpam-google-authenticator
- 运行配置向导生成密钥
- 修改SSH和PAM配置
最佳实践建议
- 每月检查
/var/log/auth.log
异常登录
- 使用
ssh -v
调试连接问题
- 重要服务器配置VPN+SSH双重访问控制
- 定期更新OpenSSH到最新版本
紧急情况处理:如发现异常登录,立即who
查看在线用户,kill
可疑会话,并通过passwd
修改所有用户密码。
配置检查清单
检查项
命令
预期结果
当前SSH端口
ss -tulnp | grep sshd
非22端口
root登录状态
grep PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin no
密码认证状态
grep PasswordAuthentication /etc/ssh/sshd_config
PasswordAuthentication no
Linux云服务器SSH安全加固全攻略:7个必做配置项
![]()
为什么SSH安全如此重要?
根据2023年网络安全报告显示,未正确配置的SSH服务是云服务器被入侵的首要原因,占比高达37%。攻击者通过暴力破解、密钥泄露等方式获取服务器控制权后,可能植入挖矿程序、窃取数据或搭建僵尸网络。
典型案例:某电商平台因使用默认SSH端口和弱密码,导致黑客入侵后窃取200万用户数据,直接损失超过500万元。
7个关键安全配置步骤
1. 修改默认SSH端口(22)
# 编辑SSH配置文件 sudo nano /etc/ssh/sshd_config # 修改Port参数(建议使用1024-65535之间的高端口) Port 56234 # 重启服务生效 systemctl restart sshd
注意事项:需同步调整防火墙规则,确保新端口开放。阿里云/腾讯云等平台还需在安全组中配置。
2. 禁用root直接登录
PermitRootLogin no
改为使用普通用户登录后
sudo
提权,可减少50%以上的暴力破解风险。3. 启用密钥认证
相比密码认证,密钥认证安全性提升10倍以上:
- 本地生成密钥对:
ssh-keygen -t ed25519
- 上传公钥到服务器:
ssh-copy-id -p 56234 user@server_ip
- 配置SSH禁用密码登录:
PasswordAuthentication no
进阶防护措施
4. 配置Fail2Ban防御暴力破解
自动封禁多次尝试失败的IP:
# 安装 sudo apt install fail2ban # 创建SSH防护配置 sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # 修改maxretry=3 bantime=1h等参数
5. 启用两步验证(2FA)
通过Google Authenticator增加第二重防护:
- 安装PAM模块:
sudo apt install libpam-google-authenticator
- 运行配置向导生成密钥
- 修改SSH和PAM配置
最佳实践建议
- 每月检查
/var/log/auth.log
异常登录- 使用
ssh -v
调试连接问题- 重要服务器配置VPN+SSH双重访问控制
- 定期更新OpenSSH到最新版本
紧急情况处理:如发现异常登录,立即
who
查看在线用户,kill
可疑会话,并通过passwd
修改所有用户密码。配置检查清单
检查项 命令 预期结果 当前SSH端口 ss -tulnp | grep sshd
非22端口 root登录状态 grep PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin no 密码认证状态 grep PasswordAuthentication /etc/ssh/sshd_config
PasswordAuthentication no
label :
- Linux SSH安全
- 云服务器加固
- SSH密钥认证
- 莱卡云