藉助 HTTP 通過 SSH 繞過 Linux 防火牆
隨著對連接和遠程工作的需求的增長,訪問遠程計算資源變得越來越重要。但是,提供對設備和硬體的外部訪問的要求使此任務變得複雜而有風險。旨在減少此類麻煩的 ShellHub 是一個雲伺服器,允許從任何外部網路常規訪問這些設備。
ShellHub 是一個 Apache 2.0 許可的開源解決方案,它可滿足所有這些需求,並允許用戶通過一個帳戶連接和管理多個設備。它的開發是為了方便開發者和程序員的工作,使得任何硬體架構的 Linux 設備的遠程訪問成為可能。
仔細觀察,ShellHub 方案使用 HTTP 傳輸層來封裝 SSH 協議。這種傳輸層的選擇可以在大多數網路上無縫使用,因為大多數公司的防火牆規則和策略通常都可以使用並接受它。
下面這些示例使用 2020 年 6 月 10 日發布的 ShellHub 版本 0.3.2。
使用 ShellHub
要訪問該平台,只需進入 shellhub.io 並註冊一個自己的帳戶。你的註冊數據將幫助開發團隊了解用戶資料並提供有關如何改進平台的更多信息。
圖 1:shellhub.io 中的註冊表格
ShellHub 有直觀、簡潔的界面,這讓所有的信息和功能都能以最快的方式呈現。註冊後,你會看到一塊儀錶板,這時可以註冊你的第一台設備。
添加設備
要啟用通過 ShellHub 連接設備,你需要生成一個標識符,它用於在設備連接到伺服器時對你的設備進行身份驗證。
此標識必須配置在代理(ShellHub 客戶端)內部,該代理必須與鏡像一起保存在設備中,或者必須添加為 Docker 容器。
ShellHub 默認使用 Docker 運行代理,這非常方便,因為它在現有系統上提供了一種無痛的添加方式,支持 Docker 是唯一的要求。要添加設備,你需要粘貼命令行,它顯示在 ShellHub Cloud 的對話框中(請參見圖 2)。
圖 2:將設備添加到 ShellHub Cloud
設備默認使用它的 MAC 地址作為其主機名。在內部,該設備由其密鑰標識,這是在設備註冊期間生成的,用於與伺服器進行身份驗證。
訪問設備
要訪問你的設備,只需進入儀錶板中的「查看所有設備」,或單擊左側菜單上的「設備」。這將列出你所有已註冊的設備。
設備狀態可在頁面上輕鬆看到。在線設備旁邊會顯示一個綠色圖標,可以單擊終端圖標進行連接。你接著輸入密碼,最後單擊」連接「按鈕,請參見(圖 3)。
圖 3:使用網路上的終端訪問設備
另一種訪問設備的方法是從類似 PuTTY、Termius 之類的 SSH 客戶端,甚至 Linux 終端訪問。我們可以使用稱為 SSHID 的 ShellHub 標識作為連接的目的地址(例如 ssh username@SSHID
)。圖 4 說明了如何使用在終端中使用 Linux SSH 客戶端連接到我們的計算機。
圖 4:使用 Linux 終端連接到設備
無論你何時登錄 ShellHub Cloud 平台,你都可以訪問儀錶板上的所有已註冊設備,這樣你可以隨時隨地訪問它們。ShellHub 通過一個開源平台,以透明的方式為您與遠程機器保持通信安全的過程增加了簡單性。
在 GitHub 上加入 ShellHub 社區,或隨時通過 Gitter 或通過電子郵件 contato@ossystems.com.br 向開發團隊發送你的建議或反饋。我們很樂意收到社區成員的貢獻!
via: https://opensource.com/article/20/7/linux-shellhub
作者:Domarys 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive