如何关闭OpenSSH端口转发以避免内网穿透风险?

2026-05-06 14:101阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计501个文字,预计阅读时间需要3分钟。

如何关闭OpenSSH端口转发以避免内网穿透风险?

请勿使用OpenSSH。

确认并修改sshd_config关键参数

编辑OpenSSH服务端主配置文件:

sudo vim /etc/ssh/sshd_config

确保以下几行存在且设置为no

  • AllowTcpForwarding no —— 禁用所有TCP端口转发(含-L、-R、-D)
  • GatewayPorts no —— 防止远程转发绑定到非127.0.0.1地址(即使AllowTcpForwarding被绕过也无效)
  • PermitTunnel no —— 禁用SSH内置的点对点隧道(如tun设备)
  • X11Forwarding no —— 关闭图形转发,避免X11相关侧信道利用

重启服务并验证是否生效

保存配置后必须重启sshd才能生效:

sudo systemctl restart sshd(Ubuntu/Debian/CentOS 7+)

sudo service ssh restart(旧版系统)

验证方式:在另一台机器上尝试执行远程转发命令,例如:

ssh -R 8080:localhost:22 user@your-server

如果返回类似Warning: remote port forwarding failed for listen port 8080或连接后无监听,说明已成功禁用。

补充加固建议

仅关端口转发还不够,需配合其他权限控制防止绕过:

  • 禁用密码登录:PasswordAuthentication no,强制使用密钥认证
  • 限制可登录用户:AllowUsers admin@192.168.10.0/24,只允许可信网段的指定用户
  • 禁止root直连:PermitRootLogin no,避免高权限账户成为跳板入口
  • 检查防火墙策略:确保SSH端口(默认22)不对外网全开放,仅限运维IP白名单访问

注意客户端配置不影响服务端策略

客户端的ssh_config或命令行参数(如-o PermitLocalCommand=yes)无法开启已被服务端禁用的功能。所有转发能力最终由sshd进程根据sshd_config裁定。因此加固重点永远在服务端,而非管控每台客户端。

标签:端口

本文共计501个文字,预计阅读时间需要3分钟。

如何关闭OpenSSH端口转发以避免内网穿透风险?

请勿使用OpenSSH。

确认并修改sshd_config关键参数

编辑OpenSSH服务端主配置文件:

sudo vim /etc/ssh/sshd_config

确保以下几行存在且设置为no

  • AllowTcpForwarding no —— 禁用所有TCP端口转发(含-L、-R、-D)
  • GatewayPorts no —— 防止远程转发绑定到非127.0.0.1地址(即使AllowTcpForwarding被绕过也无效)
  • PermitTunnel no —— 禁用SSH内置的点对点隧道(如tun设备)
  • X11Forwarding no —— 关闭图形转发,避免X11相关侧信道利用

重启服务并验证是否生效

保存配置后必须重启sshd才能生效:

sudo systemctl restart sshd(Ubuntu/Debian/CentOS 7+)

sudo service ssh restart(旧版系统)

验证方式:在另一台机器上尝试执行远程转发命令,例如:

ssh -R 8080:localhost:22 user@your-server

如果返回类似Warning: remote port forwarding failed for listen port 8080或连接后无监听,说明已成功禁用。

补充加固建议

仅关端口转发还不够,需配合其他权限控制防止绕过:

  • 禁用密码登录:PasswordAuthentication no,强制使用密钥认证
  • 限制可登录用户:AllowUsers admin@192.168.10.0/24,只允许可信网段的指定用户
  • 禁止root直连:PermitRootLogin no,避免高权限账户成为跳板入口
  • 检查防火墙策略:确保SSH端口(默认22)不对外网全开放,仅限运维IP白名单访问

注意客户端配置不影响服务端策略

客户端的ssh_config或命令行参数(如-o PermitLocalCommand=yes)无法开启已被服务端禁用的功能。所有转发能力最终由sshd进程根据sshd_config裁定。因此加固重点永远在服务端,而非管控每台客户端。

标签:端口