到 VNC 服务器的 SSH 隧道

到 VNC 服务器的 SSH 隧道

我有一个专用服务器。有一个 VNC 服务器,我可以使用端口 5901 的 VNC 客户端连接到 VNC 服务器,因此当我使用 VNC 客户端连接时,我会显示 :1。

我读过很多关于 ssh -L 和 ssh -R 命令行命令的文档,但这很奇怪,因为他们在自己的机器和远程机器上都有服务器等,所以我对它们在哪里感到困惑尝试连接等等。

  1. 我有专用服务器,包括 VNC 服务器、Web 服务器、游戏服务器和防火墙。
  2. VNC 服务器正在运行,并且仅对 Web 服务器、SSH、游戏服务器端口启用了 TCP/UDP 连接。
  3. 我想用我的 VNC 客户端(从我自己的电脑)连接到我的 VNC 服务器,但使用隧道连接,因为人们尝试我的密码太多次或其他什么,因为有时它会说“身份验证失败太多”,他们太迟钝了是,因为他们永远不会猜出密码。无论如何。我尝试过类似的:

ssh root@DEDICATEDIP -L 5901:DEDICATEDIP:5901 ssh root@DEDICATEDIP -R 5901:DEDICATEDIP:5901

我也尝试了这个(从这个网站找到): ssh -L 5901:localhost:5901 -p 22 root@DEDICATEDIP

如果我在 SSH 中写“su”并写下我的 root 密码,我可以使用 root 帐户进入,但是当它在尝试填写任何这些隧道命令后询问我的 ssh 上的 root 密码时,它说密码错误并且权限被拒绝?

编辑:

  • 我的电脑:PuTTy(SSH 客户端)、VNC Viewer(VNC 客户端)
  • Dedibox:VNC服务器、游戏服务器、Web服务器、SSH服务器

UFW 状态

  • 22 - 允许 - 任何地方
  • 22 - 允许出去 - 任何地方

VNC 服务器正在运行,我可以确认这一点。如果我将 5901 添加到 ALLOW 和 ALLOW OUT,我可以简单地连接到那里,而无需隧道。

  1. (我的电脑)打开PuTTY
  2. (我的电脑)PuTTY 配置 -> 连接 -> SSH -> 隧道

    • 源端口[5902]
    • 目的地 [163.xxx.xxx.xxx:5901]
    • [添加]
  3. 现在 PuTTY 显示“转发端口:” -> “L5902 163.xxx.xxx.xxx:5901”

  4. 我使用 SSH 连接到服务器,包括我现在配置的隧道设置。
  5. 我输入“su”并提交我的 root 密码。
  6. root@MyBox: /home/sysadmin# (sysadmin 是我的盒子的普通用户)
  7. 我输入:“ssh root@IP_OF_DEDI -L 127.0.0.1:5902:127.0.0.1:5901”
  8. VNC 客户端保持连接一段时间。就像(15 秒)并说:“连接被计算机拒绝”

答案1

请尝试以下操作:

在ip 127.0.0.1,端口5901上启动vnc服务器

使用命令ssh user@vncserver -L127.0.0.1:5902:127.0.0.1:5901启动隧道

然后连接到127.0.0.1:5902使用您本地的 vnc 客户端。

这为您提供了仅在远程端的环回接口上运行 vnc 服务器的优势。

答案2

如果您使用 Putty,则可以在“连接”>“SSH”>“隧道”选项卡中为会话设置隧道。将源端口设为 L5902,目标端口设为 127.0.0.1:5901。

您将需要设置会话来保存这些详细信息。这将使您连接到 vnc 窗口 1。

从命令行,您可以使用 ssh -L5902:127.0.0.1:5901 user@target 这与我相信的 putty 所做的事情相同。

我不太了解,无法对此做出更多解释。

相关内容