linux 提升SSH安全性

修改默认SSH端口

# 编辑SSH配置文件
vim /etc/ssh/sshd_config
# 修改Port配置为任意高位端口,例如
Port 2222

# 重启SSH服务
systemctl restart sshd

禁用Root用户登录

# 禁用Root登录
PermitRootLogin no

# 创建新用户
adduser username
passwd username

实施基于密钥的登录


ssh-keygen -t rsa -b 4096

## 复制公钥到远程服务器:
ssh-copy-id user@server_ip

## 然后编辑SSH配置文件禁用密码登录:
PasswordAuthentication no

部署自动拦截工具

DenyHosts和Fail2Ban是两款常用的防爆破软件。它们通过监控SSH日志,自动屏蔽频繁尝试密码的IP地址。例如,在CentOS中安装和配置DenyHosts:

# 安装DenyHosts
yum install -y denyhosts

## 编辑其配置文件/etc/denyhosts.conf,修改关键参数:

SECURE_LOG = /var/log/secure
DENY_THRESHOLD_INVALID = 5
HOSTS_DENY = /etc/hosts.deny

## 启动服务即可:
systemctl start denyhosts
systemctl enable denyhosts


设置IP访问白名单

限制SSH访问仅允许特定的IP,可以从根源上杜绝大多数攻击。配置防火墙规则,例如通过iptables设置白名单:

iptables -A INPUT -p tcp -s trusted_ip --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

定期分析日志

定期查看SSH日志能够帮助发现潜在威胁。通过命令查看失败的登录尝试: 发现异常IP时可以手动将其加入黑名单,或进一步优化防护策略。

grep "Failed password" /var/log/secure

作者:spike

分类: Tool

创作时间:2025-10-18

更新时间:2025-10-20

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1