搜索 sshd 配置里的 Port
只读grep -R -n -E '^\s*Port\s+' /etc/ssh/sshd_config /etc/ssh/sshd_config.d/跑完应看到: 找到声明的端口,并检查 Include 的位置;多条 Port 可能同时生效。
基础检查 2 / 3
03 / FIELD NOTES
重载 ssh 前,先找出 sshd_config 与 sshd_config.d 里真正生效的 Port。
Include 和服务启动参数都会影响配置。Port 可以设置多次,不能笼统地说 drop-in 一定覆盖主文件。先看有效配置,再核对实际监听。
sshd_config 里改了 Port,服务却还在听 22。
重载 ssh 之前先放行新端口,否则可能把自己锁在外面。
grep -R -n -E '^\s*Port\s+' /etc/ssh/sshd_config /etc/ssh/sshd_config.d/跑完应看到: 找到声明的端口,并检查 Include 的位置;多条 Port 可能同时生效。
sudo /usr/sbin/sshd -T | grep '^port '
sudo ss -lntp跑完应看到: sshd -T 展示按当前配置启动新进程的结果;运行中的监听可能尚未更新,socket activation 或服务参数也可能影响实际端口。root 可省略 sudo。
只读。保持当前 SSH 会话,放行并测试新端口后,再关闭旧连接。
{
"slug": "sshd-config-d",
"risk": "safe",
"tags": [
"ssh",
"sshd",
"port"
],
"updated": "2026-10-30",
"pathIndex": 2,
"why": "Include 和服务启动参数都会影响配置。Port 可以设置多次,不能笼统地说 drop-in 一定覆盖主文件。先看有效配置,再核对实际监听。",
"steps": [
{
"command": "grep -R -n -E '^\\s*Port\\s+' /etc/ssh/sshd_config /etc/ssh/sshd_config.d/",
"risk": "safe"
},
{
"command": "sudo /usr/sbin/sshd -T | grep '^port '\nsudo ss -lntp",
"risk": "safe"
}
]
}