诱人的设置是 AllowTcpForwarding no。不幸的是,它也会禁用 本地 SSH SOCKS 代理所需的转发。动态转发并不是绕过服务器策略的漏洞。

对于专用账户,OpenSSH 将若干能力分开。一段策略配置可以在阻止 Shell 和子系统会话的同时允许本地转发:

Match User proxyuser
    AllowTcpForwarding local
    MaxSessions 0
    PermitTTY no
    X11Forwarding no
    AllowAgentForwarding no

服务器手册 将 MaxSessions 0 描述为在允许转发的同时阻止 Shell、登录和子系统会话。把它整合进现有的已认证账户;它不是完整的 SSH 安全配置。

仅转发并不等于仅 SOCKS

固定的本地转发和 SOCKS 请求最终可能向服务器要求同类的目的连接。允许本地转发并不能保证客户端使用了某个特定的 SOCKS 接口。不要把该账户描述为强制仅使用 SOCKS。

当某个具体清单符合需求时,PermitOpen 可以限制 目的主机与端口对。它不是对所有专用网络都考虑主机名解析的通用禁令。更宽泛的地址限制可能需要合适的主机网络策略。

账户、密钥以及所包含的服务器设置可能进一步限制转发。其他地方的一揽子转发禁令可能移除本片段看似允许的能力。

使用带恢复路径的常规服务器管理流程,然后分别评估被允许和被拒绝的能力。期望的结果是明确的转发权限,而不是意外保留可用的交互式登录,也不是被自身限制禁用的代理。

相关文章