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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Port 2222
Protocol 2
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PermitEmptyPasswords no
MaxAuthTries 3
LoginGraceTime 30

ClientAliveInterval 60
ClientAliveCountMax 3
TCPKeepAlive yes
UseDNS no

AllowGroups sshusers
LogLevel INFO