Linux
當 SSH 或任何其他遠端服務不可用時,如何顯示和操作遠端 Linux 桌面?
情況如下。週一,我需要在大學展示一個需要在我的家庭系統上設置開發環境和硬體的程序。ISP 行為不端,不會打開使用 SSH 所需的靜態 IP 服務(沒有變通方法,請諮詢技術支持,SSH 只能通過靜態 IP 服務工作),直到我們訪問辦公室並整理出一些合法的東西(閱讀,給他們一腳..)。顯然,那是周一過去了。
我可以使用的東西:
- 家用機器,執行 Fedora 23 的 Intel 台式 PC,具有所需的開發環境和庫,以及程序執行所需的硬體
- 我還擁有一台筆記型電腦,一台安裝了 64 位 Windows 7 的聯想 L440,以及一個安裝了 Fedora 23 的免費 VMware Player(香草,我需要的環境都不存在或可以設置在理智的時間,當然機器沒有所需的硬體)
- Linksys 路由器後面的 ISP 提供的 100 MBit 電纜連接,我可以登錄並更改必要的設置;另外,ISP 允許我在必要時在其網站的帳戶設置中打開或關閉 NAT
我需要的:
- 要上大學,請將筆記型電腦連接到網路(將通過大學 wi-fi 完成,或者更有可能通過速度為 64Kb/s 的 4G USB 調製解調器完成,但在更高需要速度,我可以支付一定的金額並立即解鎖無限的速度和頻寬)
- 然後登錄我家的機器
- 能夠顯示 Fedora 桌面(X.org,不僅僅是 getty 登錄)並向其發送滑鼠和鍵盤輸入;好吧,只要遠端工作,你看
SSH 或任何依賴於靜態 IP 的東西都是不可能的。如果有的話,我還有哪些其他選擇?
- 通過簡單的 SSH,您將看不到 Fedora 桌面。
- 如果要在桌面上操作,可能唯一合理的解決方案是 VNC。
- 沒有靜態 IP 不是災難。如果您可以通過 shell 訪問具有靜態 IP 的其他伺服器(例如大學),則可以使用反向埠轉發。
autossh
如果由於某種原因(遠端機器重新啟動)失敗(遠端機器的重新啟動)失敗,則還有一個稱為工具可以監視此連接並重新啟動它以提高可靠性。在要點中:
- 在您的桌面上,設置與伺服器的無密碼連接並啟動 ssh:
ssh -NTf -R 22:localhost:22022 public-ip
- 當你在大學時,你可以
ssh
這樣做public-ip
,然後:ssh -p 22022 localhost
會將您帶到您的桌面。
您可以類似的方式轉發 VNC 埠。
幾點注意事項:
確保您與桌面的連接不會中斷
autossh
恢復失敗的連接ServerAliveInterval
,ServerAliveCountMax
發送 KeepAlive 消息的選項- 確保您的桌面不會進入睡眠狀態
在展示之前嘗試一下 :) 您應該能夠在家中驗證功能