为什么 ssh 隧道会使用默认服务打开端口

为什么 ssh 隧道会使用默认服务打开端口

我还没有在其他机器上尝试过,但我正在尝试建立到外部服务器的 ssh 隧道。我的做法如下:

ssh -L 9898:firewalled.service.com:443 user@some-server

我对此有两个问题:

  1. 访问 localhost:9898 时,我得到:

400 错误请求:纯 HTTP 请求已发送到 HTTPS 端口。

我得到了

不能获取 /

如果尝试https://本地主机:9898

  1. 如果我关闭 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 时,也发生了类似的事情。有些应用程序支持从本地主机打开,但有些则不支持。

问候。

在此处输入图片描述在此处输入图片描述

相关内容