我还没有在其他机器上尝试过,但我正在尝试建立到外部服务器的 ssh 隧道。我的做法如下:
ssh -L 9898:firewalled.service.com:443 user@some-server
我对此有两个问题:
- 访问 localhost:9898 时,我得到:
400 错误请求:纯 HTTP 请求已发送到 HTTPS 端口。
我得到了
不能获取 /
- 如果我关闭 ssh 连接,并运行 nmap 到本地主机,我会打开许多端口。
我尝试过的、现在出现在 nmap 中的端口:
$nmap -T4 localhost
| PORT | STATE | SERVICE |
| 6666/tcp | open | irc |
| 7777/tcp | open | cbt |
| 8080/tcp | open | http-proxy |
| 9876/tcp | open | sd |
| 9898/tcp | open | monkeycom |
| 9999/tcp | open | abyss |
这些都是 ssh 隧道的尝试,所有连接都已关闭,但这仍然显示在 nmap 中。
我知道这些端口是开放的并且正在监听某些东西,我甚至可以与它们交谈:
nc -z localhost 9999
Connection to localhost port 9999 [tcp/distinct] succeeded!
这背后的原因是什么?
我正在使用 Macos Mojave 来完成所有这些工作。
答案1
我建议你尝试以下方法:
ssh -v -L 1.2.3.4:9898:5.6.7.8:443[电子邮件保护]
在哪里:
1.2.3.4 = 您的 PC IP 地址
5.6.7.8 = 远程目标资源
2.4.6.8 = 远程 SSH 服务器
然后,在您的浏览器中尝试 =https://1.2.3.4:9898
PD:请记住,9898、443 或任何其他数字并不表示安全与否。安全是应用层,在本例中是 SSL。问题更多的是应用程序和/或远程 Web 服务器的工作方式。例如,当我尝试通过相同方法打开 Graylog 时,也发生了类似的事情。有些应用程序支持从本地主机打开,但有些则不支持。
问候。