VNC over reverse SSH
玩網絡隧道很有趣,而且幾乎是神奇的。?SSH就是這樣一個充滿驚喜的工具箱,可以讓你學到更多東西。
我過去經常使用SSH隧道來安全地通過VNC訪問遠程主機。?典型的情況是從工作連接到家用計算機并訪問其桌面,我使用我的計費軟件。?隧道在工作計算機上打開一個端口,該端口重定向遠程主機上的所有活動,因為它是本地的。
work$ ssh -L 5901:localhost:5900 homeuser@homepc然后在工作計算機上,端口5901成為我的homepc端口5900,實際上是它的VNC桌面。?只需在localhost:5901上打開VNC查看器即可顯示homepc桌面。
但另一種方式呢??由于大多數公司都設置阻止此類訪問的防火墻,因此無法從家中訪問工作計算機。
輸入反向SSH。?它創建從主機到遠程主機的連接,但就好像連接是相反的。?這樣,連接就會在防火墻后面向外界發起,并且對遠程主機指定端口保持開放狀態。
work$ ssh -R 7000:localhost:22 homeuser@homepc這將創建一個反向SSH隧道,其中homepc端口7000充當工作端口22.現在在homepc上,我可以登錄到工作:
homepc$ ssh workuser@localhost -p 7000到目前為止,這很美。?但當然我應該可以通過VNC訪問我的工作桌面了嗎?
事實證明,反向端口在另一個方向是透明的,因此端口轉發像往常一樣工作。
homepc$ ssh -L 5901:localhost:5900 workuser@localhost -p 7000這將在我的homepc上打開端口5901,通過端口7000上的反向SSH隧道返回到工作臺。?當然,在這種情況下,workuser密碼是遠程工作PC,即使主機是localhost也是如此。?然后,只需打開端口localhost:5901上的VNC查看器即可顯示我的工作PC桌面的所有榮耀。
現實案例
上面的案例假設homepc始終打開并可從Internet訪問,盡管可能,但這并不是一種非常安全和推薦的方法。?在我的情況下,我有一個我一直在使用的Raspberry Pi?,功耗低于5W,并作為NAT家庭網絡的網關。?Pi運行no-ip服務,保持其動態IP可查找。?在工作中,我的工作站運行Windows,雖然我可以使用Putty來設置反向SSH連接,但是從Linux服務器執行此操作會使其在無人值守的情況下更具彈性。?所以最終的配置最終是:
workpc -- linuxhost || ooooooooo || pi -- homepc反向SSH源于Internet上的linuxhost到Pi:
linuxhost$ ssh -fN -R 7000:localhost:22 piuser@homeip然后從我的homepc,打開到Pi轉發VNC端口的SSH連接:
homepc$ ssh -L 5901:localhost:5901 piuser@piip最后,Pi打開與Linux主機的SSH連接,將VNC端口轉發到我的workpc,全部通過反向SSH隧道:
pi$ ssh -L 5901:workpc:5900 workuser@localhost -p 7000然后從homepc,只需打開一個VNC查看器就可以獲得工作桌面:
?
homepc$ vncviewer localhost:1https://patocarr.com/blog/2016/02/06/VNC_over_reverse_SSH.html
總結
以上是生活随笔為你收集整理的VNC over reverse SSH的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android双屏异显的实现
- 下一篇: 【译】Persistent revers