SSH在Linux系统中的重要性无法忽视,其加密通信功能确保数据传输机密性,同时多种身份验证方法有助于遏制未经授权访问。
端到端安全建立安全通信链路,防止数据泄露。
管理员通过SSH实现灵活的访问控制,限制登录用户和IP地址。
此外,SSH的审计和日志记录功能记录用户活动,让管理员能定期审计日志,监控系统的安全性,并迅速发现异常行为。
这些安全特性共同确保系统的整体安全。
10种配置方法如下
- 1.禁用 Root 登录
- 编辑 SSH 配置文件:
/etc/ssh/sshd_config
- 设置
PermitRootLogin no
- 重启 SSH 服务:
sudo systemctl restart sshd
- 编辑 SSH 配置文件:
- 2.使用 SSH 密钥认证
- 生成密钥对:
ssh-keygen
- 将公钥拷贝到服务器:
ssh-copy-id user@hostname
- 生成密钥对:
- 3.更改SSH端口
- 编辑 SSH 配置文件:
/etc/ssh/sshd_config
- 更改
Port 22
为其他端口 - 重启 SSH 服务:
sudo systemctl restart sshd
- 编辑 SSH 配置文件:
- 4.限制登录用户
- 编辑 SSH 配置文件:
/etc/ssh/sshd_config
- 添加允许登录用户列表:
AllowUsers username1 username2
- 重启 SSH 服务:
sudo systemctl restart sshd
- 编辑 SSH 配置文件:
- 5.配置 SSH 访问控制
- 使用
tcp_wrappers
或firewall
配置访问控制
- 使用
- 6.启用登录检查
- 编辑 SSH 配置文件:
/etc/ssh/sshd_config
- 设置
LoginGraceTime 30s
检测登录超时 - 重启 SSH 服务:
sudo systemctl restart sshd
- 编辑 SSH 配置文件:
- 7.使用防火墙
- 启用防火墙,例如
iptables
或ufw
- 启用防火墙,例如
- 8.限制尝试次数
- 编辑 SSH 配置文件:
/etc/ssh/sshd_config
- 添加
MaxAuthTries 3
限制尝试次数 - 重启 SSH 服务:
sudo systemctl restart sshd
- 编辑 SSH 配置文件:
- 9.使用 TCP Wrapper
- 编辑
/etc/hosts.allow
和/etc/hosts.deny
文件配置访问控制
- 编辑
- 10.监视 SSH 日志
- 查看和监视
/var/log/auth.log
或/var/log/secure
日志文件,以检测异常登录行为
- 查看和监视
确保在对 SSH 服务器进行任何更改之前,备份配置文件以防出现问题。