sshd(/etc/ssh/sshd_config)服务端配置项
1. 基础配置
| 参数 | 说明 | 示例/推荐 |
|---|---|---|
Port |
SSH 服务监听端口 | 默认 22,推荐改成高位端口,如 2222 |
ListenAddress |
指定监听地址 | 例如 0.0.0.0 或指定内网地址 |
Protocol |
SSH 协议版本 | 默认 2(SSH1 已废弃) |
2. 身份验证与安全
| 参数 | 说明 | 示例/推荐 |
|---|---|---|
PermitRootLogin |
是否允许 root 登录 | no(推荐禁用)或 prohibit-password |
PasswordAuthentication |
是否允许密码登录 | no(推荐仅用密钥) |
PubkeyAuthentication |
是否启用公钥认证 | yes |
AuthorizedKeysFile |
公钥存放位置 | 默认 .ssh/authorized_keys |
PermitEmptyPasswords |
是否允许空密码 | no |
MaxAuthTries |
最大认证尝试次数 | 默认 6,推荐 3 |
MaxSessions |
并发会话数 | 推荐根据需求调整,如 10 |
3. 登录与访问控制
| 参数 | 说明 | 示例/推荐 |
|---|---|---|
AllowUsers |
允许的用户列表 | AllowUsers user1 user2 |
AllowGroups |
允许的用户组 | AllowGroups sshusers |
DenyUsers |
禁止的用户列表 | DenyUsers test guest |
DenyGroups |
禁止的用户组 | DenyGroups nogroup |
LoginGraceTime |
登录宽限时间 | 默认 120s,推荐 30s |
4. 会话 & 连接保持
| 参数 | 说明 | 示例/推荐 |
|---|---|---|
ClientAliveInterval |
服务器向客户端发送 keepalive 间隔 | 推荐 60 |
ClientAliveCountMax |
客户端未响应最大次数 | 推荐 3 |
TCPKeepAlive |
是否启用 TCP KeepAlive | yes(建议配合上面参数) |
UseDNS |
是否反向解析客户端 IP | no(加快登录速度) |
5. 日志与调试
| 参数 | 说明 | 示例/推荐 |
|---|---|---|
LogLevel |
日志级别 | INFO(调试时可改成 VERBOSE) |
SyslogFacility |
日志 facility | 默认 AUTH,可改 AUTHPRIV |
6. 高级与安全加固
| 参数 | 说明 | 示例/推荐 |
|---|---|---|
PermitTunnel |
是否允许隧道 | no(一般禁用) |
GatewayPorts |
是否允许远程转发到非本地地址 | no(安全起见) |
AllowTcpForwarding |
是否允许端口转发 | yes/no(按需开启) |
X11Forwarding |
是否允许 X11 转发 | 默认 no(少用) |
Compression |
是否允许压缩 | yes,提高传输效率 |
KexAlgorithms |
密钥交换算法 | 推荐限制为安全算法 |
Ciphers |
加密算法 | 推荐 aes256-ctr,aes192-ctr,aes128-ctr |
MACs |
消息验证码算法 | 推荐 hmac-sha2-256,hmac-sha2-512 |
7. 示例配置片段(安全优化版)
1 | Port 2222 |