SSH 作为 Linux 系统远程管理的标准协议,其安全配置直接关系到服务器的生死存亡。本文将手把手教你从基础配置到高级加固,打造铜墙铁壁般的 SSH 防护体系。
SSH 基础概念:不只是远程登录那么简单
SSH(Secure Shell)协议采用客户端-服务器架构,通过加密通道在网络中传输数据。相比传统的 Telnet,SSH 提供了身份验证、数据加密和完整性保护三重安全保障。
# 查看当前 SSH 服务状态
systemctl status sshd
# 检查 SSH 版本信息
ssh -V
# 测试本地 SSH 连接
ssh localhost现代 Linux 发行版默认使用 OpenSSH 实现,服务端进程为 sshd,客户端命令为 ssh。理解这个基础架构,是后续配置优化的前提条件。
SSH 配置文件深度解析:/etc/ssh/sshd_config
主配置文件 /etc/ssh/sshd_config 控制着 SSH 服务的所有行为。让我们逐段解读关键配置项:
# 端口配置(默认22,建议修改)
Port 22
# 监听地址(默认所有接口)
ListenAddress 0.0.0.0
# 协议版本(推荐使用v2)
Protocol 2
# 密钥文件路径
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
# 登录超时设置
LoginGraceTime 2m
MaxAuthTries 6
MaxSessions 10配置修改后必须重启服务生效:
# 检查配置文件语法
sshd -t
# 重启 SSH 服务
systemctl restart sshd
# 确保服务开机自启
systemctl enable sshd