PuTTY SSH 隧道在 Linux 上不起作用

PuTTY SSH 隧道在 Linux 上不起作用

我正在 Debian 上运行一个安装了 Webmin 的服务器,但它没有运行默认端口。

我最近安装了 Linux Mint,以取代 Windows。

当我使用 Windows 时,我使用 PuTTY 来转发我的 Webmin 端口,并且一切都在 Windows 上使用 localhost:port 运行。

自从使用 Linux 以来,我安装了 PuTTY 并在 SSH 部分再次设置了端口转发。

我登录到我的服务器并尝试通过 localhost:port 访问我的 webmin,但它只是说 chrome 中的连接被拒绝?

我无法想象发生了什么,因为这在 Windows 上也能正常工作。

我确实有一个在 Linux Mint 上运行的本地 apache2 服务器,我认为这可能会造成干扰,但我停止了 apache2,但仍然没有运气。

任何帮助深表感谢。

答案1

由于您现在使用的是 Linux Mint,我建议您ssh在命令行上使用详细模式,看看它是否打印与隧道相关的消息。因此,请尝试以下操作ssh -L 5436:Debian_server:Webmin_port user@Debian_server -v

请报告与建立隧道相关的任何消息。如果一切顺利,预计会出现如下消息:debug1:与 LOCALHOST:5436 的本地连接已转发到远程地址...

答案2

我知道这有点老了,但我在将 Putty 会话从 Windows 迁移到 Fedora Linux 时遇到了同样的问题。答案很简单。我把它放在这里是为了让其他有类似问题的人受益。

在 Linux 上(至少在 Fedora 上),普通用户无法重定向小于 1024 的本地端口,除非您使用 root 用户(或者我猜是 sudo)。据我所知,Linux 上的 Putty 使用 Linux 安装的 SSH。我相信 Windows Putty 做了它自己的事情,或者至少安装了似乎没有此限制的 Windows ssh 版本。我认为 Linux 方法可能是最安全的,而 Windows 方法是为了方便。

因此,我没有在 sudo 下运行 putty,而是将 1024 以上的本地端口重定向到远程网络。

因此在 OP 中,您可以重定向(例如)127.0.1.1:1080 -> debian_server:5436。

就我而言(在 Windows 上),我曾经重定向本地 127.0.1.1:80->192.168.1.1:80(以便能够在远程网络上操作路由器的 Web 界面。Windows 下的 Putty 会话配置(在注册表中)如下:

"PortForwardings"="4L127.0.1.1:80=192.168.1.1:80,"

在 Fedora 上,会话配置文件中的条目变为:

PortForwardings=4L127.0.1.1:1080=192.168.1.1:80

这也可以用于 https,通过使用本地端口(例如)1443 到远程端口 443。

在 Linux 上,可以在 conf 文件或打开的 putty 配置 gui 中设置这些。

相关内容