尝试访问隧道 HTTP 端口时出现“协议不匹配”

Dav*_*ave 1 http ssh ssh-tunnel

我使用的是 Mac 10.7.4,我有一个 HTTP 服务在远程服务器的端口 8082 上运行,我只能通过中间服务器访问。所以我执行这些隧道命令

ssh -L 8082:remote-server:22 dalvarado@intermediate-server
ssh dalvarado@localhost -p 8082
Run Code Online (Sandbox Code Playgroud)

但是,当我打开网络浏览器(Safari 或 Chrome)并访问

http://localhost:8082/
Run Code Online (Sandbox Code Playgroud)

我收到错误

SSH-2.0-OpenSSH_5.3
Protocol mismatch.
Run Code Online (Sandbox Code Playgroud)

我已经验证远程服务器的 sshd_config 文件包含“Protocol 2”,我什至尝试将“-2”标志添加到上述 SSH 命令,但我仍然收到错误消息。

任何帮助表示赞赏, - 戴夫

bra*_*n99 5

如果中间服务器的设置允许,您应该可以使用单个隧道执行此操作:

ssh -L 8082:remote-server:8082 dalvarado@intermediate-server
Run Code Online (Sandbox Code Playgroud)

然后将浏览器指向

http://localhost:8082/
Run Code Online (Sandbox Code Playgroud)

如果 remote-server:8082 只能从 remote-server 本身访问,则需要进一步隧道:

ssh -L 8022:remote-server:22 dalvarado@intermediate-server
ssh -L 8082:localhost:8082 dalvarado@localhost -p 8022
Run Code Online (Sandbox Code Playgroud)

然后将浏览器指向 http://localhost:8082/