當前位置:編程學習大全網 - 源碼下載 - SSH 內網穿透實現遠程桌面

SSH 內網穿透實現遠程桌面

兩個局域網的主機要進行遠程桌面,必須進行內網穿透。 frp 是壹個不錯的選項。但其實不依賴外部的工具,僅僅利用系統的 SSH 也能實現,而且在安全性上可能會更好。

參與該網絡的各個機器、端口、執行的命令及其順序如下圖所示:

假設我們現在在辦公室有壹臺 MacOS 主機 C,要連接家裏的 MacOS 主機 A。

當用戶進行遠程桌面時,比如移動壹下鼠標,此時其請求數據流向為 C:127.0.0.1:5900 -> B:123.1.2.3:22 -> B:127.0.0.1:5900 -> B:127.0.0.1:7000 -> B:123.1.2.3:22 -> A:127.0.0.1:22 -> A:0.0.0.0:5900。

以上所有的端口都是本地 127.0.0.1 的,除了公網服務器 B 需要對外暴露 SSHD 端口(22),無需再暴露任何其他主機、其他端口,而且使用 OpenSSH 加密通信數據,相對來說比較安全。當然上面用了公網服務器的 root 用戶,妳也可以新建壹個低權限用戶來做這個,進壹步提升安全性。

但是也存在壹些需要關註的問題、優化的地方。最大的壹個問題就是卡頓。在 1Mbit/s(其實只有 100KB)的公網帶寬服務器上,效果壹般。打字什麽的沒什麽問題。要是傳送文件,擠占帶寬後會導致屏幕完全沒法操作。瀏覽網頁比較卡頓,可以看到明顯的延遲(尤其是滾動頁面時)。這壹點相比 TeamViewer 免費版來說都差很多。很大的原因可能還是 VNC 的協議不如 TeamViewer,OpenSSL 的加密也比較重。公網帶寬提升到 10Mbit/s 可能會比較流暢,當然還要確保家裏的電腦的上傳帶寬也足夠(>=10Mbit/s),可以用 / 測試下網速。

其他的壹些問題:

這個方式壹般來說作為 TeamViewer 免費版的壹個備份還可以。有時候 TeamViewer 在電腦屏保或鎖屏或最小化時,無法連接上。可以通過本方法先登錄遠程主機來排查解決。Windows 及其 RDP 協議的也差不多類似,只是把上面 VNC 的部分替換成 RDP,使用 Microsoft Remote Desktop 等客戶端來連接即可。

  • 上一篇:UNIX編程藝術的目 錄
  • 下一篇:幼兒園藝術教案
  • copyright 2024編程學習大全網