标签: reverse-tunnel

如何在网络上共享反向 SSH 隧道?

我有一台 3G PPP 连接的远程计算机。我无法通过 Internet 连接到这台计算机,因为我相信 PPP IP 池使用 NAT 连接到 Internet(连接时我得到了 10.xxx 地址)

所以我让远程计算机创建到 Internet 上服务器的 SSH 连接。然后我可以从服务器建立这个连接并在远程计算机上获得一个 shell。伟大的。

我希望能够访问远程网络上摄像机的 Web 界面。所以我创建了第二个 SSH 隧道,将流量重定向到相机的地址,即:ssh -R 9000::

从我的互联网主机这有效,我得到了网页: wget 127.0.0.1:9000

现在我需要它在我的客户端 PC 上工作,所以:

客户端 PC --> Internet 服务器 --tunnel--> 远程计算机 --> IP 摄像机

所以基本上我需要让我的反向 SSH 隧道通过网络可用。

我假设我是否只是使用 iptables 将 Internet 服务器上某个端口上的传入流量转发到 127.0.0.1:9000 会起作用,但是在玩了 iptables、NAT 等几个小时后,我无法让它工作。

这应该工作吗?

ssh reverse-tunnel

6
推荐指数
1
解决办法
4058
查看次数

如何使用 autossh 获得持久的反向 SSH 隧道?

(只是在 SO 上问过这个问题,但有人建议把它放在这里)

我设法在 Raspberry Pi 2 和我的服务器(具有静态 IP 的服务器)之间创建了一个反向 SSH 隧道,并且工作正常。我在服务器上使用的用户帐户称为“ksproxy”(它不是真正的“代理”,但无论如何)。

现在我正试图让autossh(来自 Debian / Raspbian 包autossh)也能工作,但我没有成功。我可能很接近。

(我已在此问题中将真实 IP 更改37.xxx.yyy.zzz为不发布服务器的实际 IP)

这是工作正常的方法:(没有 autossh)

在 Rpi 上:

rspi@antlia:~ $ ssh -N -R 20000:localhost:22 ksproxy@37.xxx.yyy.zzz
Run Code Online (Sandbox Code Playgroud)

在服务器上(具有静态 IP 的服务器):

ksproxy@37.xxx.yyy.zzz:~$ ssh rspi@localhost -t -p 20000
rspi@localhost's password:
rspi@antlia:~ $
Run Code Online (Sandbox Code Playgroud)

所以一切正常:我输入密码并得到一个终端/提示。

我什至可以从我的桌面访问 Raspberry Pi(首先通过服务器),执行以下操作:

ssh -t ksproxy@37.xxx.yyy.zzz "ssh rspi@localhost -p 20000"
ksproxy@37.xxx.yyy.zzz password:
rspi@localhost's password:
...
rspi@antlia:~
Run Code Online (Sandbox Code Playgroud)

它首先询问服务器的密码,然后询问 Pi 的密码,一切都很好。

到现在为止还挺好。

现在我尝试相同但这次使用 autossh:

rspi@antlia:~ $ autossh -M 20000 …
Run Code Online (Sandbox Code Playgroud)

linux ssh connection reverse-tunnel

6
推荐指数
1
解决办法
1万
查看次数

反向隧道,移动 PuTTY 窗口时远程桌面会话挂起

我在家里的 Windows 10 计算机上有一个 ssh 服务器,当我使用 PuTTY 从我的 Windows 10 工作计算机使用以下命令设置反向隧道时:

putty.exe -ssh user@xxxxxxxxxx -R 9999:localhost:3389
Run Code Online (Sandbox Code Playgroud)

我可以在家里使用远程桌面并登录到我的工作计算机。

这一直有效,直到我移动 PuTTY 窗口,然后我的本地窗口冻结。解决方法是不要触摸那个窗口,但这很烦人。这是一个已知问题吗?

明确地说:只有我正在查看我的工作计算机的家用计算机上的窗口(远程桌面窗口)冻结。我家用电脑上的其他一切都运行良好,当我让正在工作的同事查看我的工作计算机时,他说他可以看到 PuTTY 窗口,并显示连接丢失的消息。他能够关闭 PuTTY 并使用上述命令重新连接到我的家用计算机,一切都恢复正常,直到我不小心再次单击 PuTTY 窗口。

remote-desktop putty reverse-tunnel windows-10

6
推荐指数
1
解决办法
1154
查看次数

如何指定 RDP 响应的端口?

我需要想办法强制RDP(远程桌面)响应特定端口而不是 RHP(随机高端口)。我不是在问如何更改RDP“侦听”端口,而是相反。

我正在尝试SSH在两个系统之间建立一个实验性的正​​向/反向隧道。我使用第三个系统作为枢轴点来隐藏我在转发隧道上的 IP。但我希望我通过转发 SSH 隧道远程进入的系统通过单独的反向SSH隧道将响应发送到“指定”端口而不是 RHP。基本思想是我希望能够控制我想要侦听和/或接收的端口,并且我不希望任何事情都是随机的。话虽如此,这是我设置的快照。

编辑:图像中的所有 IP 地址都已更改,这将使您稍后阅读我编辑到问题中的日志时感到困惑。新的 IP 地址是:

  • KGRAVES - 10.0.10.113
  • 恶魔之光 - 10.0.10.121
  • 杜克劳 - 10.0.10.120

在此处输入图片说明

正如您在最后一步所看到的,我的RDP会话SSH正像我想要的那样通过反向隧道发送回。所以我的RDP会话有两个管道。但它是在 RHP 上发回的,我不知道如何告诉它将它发送到特定端口,:44444例如。

有谁知道如何做到这一点?

我需要以特定方式完成此操作。这些是我必须使用的端口。我已经设置Duclaw监听RDP端口1337而不是3389. 我知道这绝不是最简单的方法。

我需要远程桌面连接“出现”,就好像它来自devilsmilk. 但我想duclaw直接将响应发送回,kgraves-pc而无需通过devilsmilk. 因此,为了kgraves-pcRDP会话被发送到localhost其随后经由转发ssh隧道通过devilsmilkduclaw,但RDP其响应于该连接被接收的分组是直接从接收到的Duclaw …

remote-desktop cygwin port-forwarding ssh-tunnel reverse-tunnel

5
推荐指数
1
解决办法
2711
查看次数

在远程服务器上公开反向 SSH 隧道

我设置了从家庭计算机到工作服务器的反向 SSH 隧道:

ssh -f -N -R 19999:localhost:22 remoteuser@server
Run Code Online (Sandbox Code Playgroud)

要连接到我的家庭计算机,我必须首先登录到服务器,然后从那里登录到我的家庭计算机:

otheruser@othermachine$ ssh remoteuser@server
remoteuser@server$ ssh -p 19999 homeuser@localhost
Run Code Online (Sandbox Code Playgroud)

但我希望能够跳过一步并直接通过端口 19999 连接,例如:

otheruser@othermachine$ ssh -p 19999 homeuser@server
Run Code Online (Sandbox Code Playgroud)

我不太熟悉iptables,而且我一直在阅读,但打开一个端口似乎很令人困惑。我很确定我需要添加一条规则iptables,但是我还需要做什么吗?

服务器是RHEL 6,我的家用计算机是Ubuntu 14.04

ssh iptables ubuntu reverse-tunnel redhat-enterprise-linux

5
推荐指数
1
解决办法
1154
查看次数

是否可以使用 MOSH 制作反向隧道?

在我的电脑上:

mosh --ssh="ssh -R 1024:localhost:22" root@RaspberryPi
Run Code Online (Sandbox Code Playgroud)

在圆周率上:

ssh -p 1024 root@localhost
Run Code Online (Sandbox Code Playgroud)

但我收到了这条消息:

pi@raspberrypi ~ $ ssh -p 1024 root@localhost
socket: Address family not supported by protocol
ssh: connect to host localhost port 1024: Address family not supported by protocol
Run Code Online (Sandbox Code Playgroud)

是否可以使用 MOSH 制作反向隧道?或者我错在哪里?

更新:

在圆周率上:

mosh --ssh="ssh -R 1024:localhost:22" root@PC
Run Code Online (Sandbox Code Playgroud)

在电脑上:

ssh -p 1024 root@localhost
Run Code Online (Sandbox Code Playgroud)

然后我被拒绝了:

bash-3.2$ ssh -p 1024 pi@192.168.1.222
ssh: connect to host 192.168.1.222 port 1024: Connection refused
Run Code Online (Sandbox Code Playgroud)

正如标题所说,如何使用 MOSH 制作反向隧道?是否可以?

reverse-tunnel

2
推荐指数
1
解决办法
4210
查看次数