Linux中國

使用 Jupyter Notebooks 構建一個遠程管理控制台

SSH 是一個強大的遠程管理工具,但有些細節還不夠好。編寫一個成熟的遠程管理控制台聽起來好像是一件很費勁的事情。當然,開源社區中肯定有人已經寫了一些東西吧?

是的,他們已經寫出來了,它的名字是 Jupyter。你可能會認為 Jupyter 是那些數據科學家用來分析一周內的廣告點擊趨勢之類的工具。這並沒有錯,它確實是的,而且它是一個很好的工具。但這僅僅刻畫是它的表面。

關於 SSH 埠轉發

有時,你可以通過 22 埠進入一台伺服器。一般你也連接不到其他埠。也許你是通過另一個有更多訪問許可權的「堡壘機」,或者限制主機或埠的網路防火牆訪問 SSH。當然,限制訪問的 IP 範圍是有充分理由的。SSH 是遠程管理的安全協議,但允許任何人連接到任何埠是相當不必要的。

這裡有一個替代方案:運行一個簡單的 SSH 埠轉發命令,將本地埠轉發到一個「遠程」本地連接上。當你運行像 -L 8111:127.0.0.1:8888 這樣的 SSH 埠轉發命令時,你是在告訴 SSH 將你的本地8111 轉發到它認為的「遠程」主機 127.0.0.1:8888。遠程主機認為 127.0.0.1 就是它本身。

就像在《芝麻街》節目一樣,「這裡」是一個微妙的詞。

地址 127.0.0.1 就是你告訴網路的「這裡」。

實際動手學習

這可能聽起來很混亂,但運行比解釋它更簡單。

$ ssh -L 8111:127.0.0.1:8888 moshez@172.17.0.3
Linux 6ad096502e48 5.4.0-40-generic #44-Ubuntu SMP Tue Jun 23 00:01:04 UTC 2020 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Aug  5 22:03:25 2020 from 172.17.0.1
$ jupyter/bin/jupyter lab --ip=127.0.0.1
[I 22:04:29.771 LabApp] JupyterLab application directory is /home/moshez/jupyter/share/jupyter/lab
[I 22:04:29.773 LabApp] Serving notebooks from local directory: /home/moshez
[I 22:04:29.773 LabApp] Jupyter Notebook 6.1.1 is running at:
[I 22:04:29.773 LabApp] http://127.0.0.1:8888/?token=df91012a36dd26a10b4724d618b2e78cb99013b36bb6a0d1
<刪節>

埠轉發 8111127.0.0.1,並在遠程主機上啟動 Jupyter,它在 127.0.0.1:8888 上監聽。

現在你要明白,Jupyter 在撒謊。它認為你需要連接到 8888 埠,但你把它轉發到 8111 埠。所以,當你把 URL 複製到瀏覽器後,但在點擊回車之前,把埠從 8888 修改為 8111

![Jupyter remote management console](/data/attachment/album/202009/12/115223rq95gpkzsp42aqzp.png "Jupyter remote management console")

這就是你的遠程管理控制台。如你所見,底部有一個「終端」圖標。點擊它可以啟動一個終端。

![Terminal in Jupyter remote console](/data/attachment/album/202009/12/115223v1gl2lq23glgqoag.png "Terminal in Jupyter remote console")

你可以運行一條命令。創建一個文件會在旁邊的文件瀏覽器中顯示出來。你可以點擊該文件,在本地的編輯器中打開它。

![Opening a file](/data/attachment/album/202009/12/115224j7i50v0v90h5gmve.png "Opening a file")

你還可以下載、重命名或刪除文件:

![File options in Jupyter remote console](/data/attachment/album/202009/12/115227jb7s5rkprer2pdew.png "File options in Jupyter remote console")

點擊上箭頭就可以上傳文件了。那就上傳上面的截圖吧。

![Uploading a screenshot](/data/attachment/album/202009/12/115229yppzee2m3mv6mpu2.png "Uploading a screenshot")

最後說個小功能,Jupyter 可以讓你直接通過雙擊遠程圖像查看。

哦,對了,如果你想用 Python 做系統自動化,還可以用 Jupyter 打開筆記本。

所以,下次你需要遠程管理防火牆環境的時候,為什麼不使用 Jupyter 呢?

via: https://opensource.com/article/20/9/remote-management-jupyter

作者:Moshe Zadka 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國