使用 Jupyter Notebooks 构建一个远程管理控制台
创始人
2024-03-02 05:49:22
0

把 Jupyter 变成一个远程管理控制台。

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

这就是你的远程管理控制台。如你所见,底部有一个“终端”图标。点击它可以启动一个终端。

Terminal in Jupyter remote console

你可以运行一条命令。创建一个文件会在旁边的文件浏览器中显示出来。你可以点击该文件,在本地的编辑器中打开它。

Opening a file

你还可以下载、重命名或删除文件:

File options in Jupyter remote console

点击上箭头就可以上传文件了。那就上传上面的截图吧。

Uploading a screenshot

最后说个小功能,Jupyter 可以让你直接通过双击远程图像查看。

哦,对了,如果你想用 Python 做系统自动化,还可以用 Jupyter 打开笔记本。

所以,下次你需要远程管理防火墙环境的时候,为什么不使用 Jupyter 呢?


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

作者:Moshe Zadka 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

不一致的结果 - Jupy...
在Jupyter Notebook中使用Numpy进行矩阵转置时可...
2025-01-11 08:31:27
不小心在JupyterNo...
在Jupyter Notebook中创建一个新的终端,输入以下命令...
2025-01-10 10:00:35
不同浏览器下的Jupyte...
在不同浏览器下,Jupyter Notebook的输出可能会因为浏...
2025-01-09 10:02:08
不同环境使用不同的Jupy...
要在不同的环境中使用不同的JupyterLab工作目录,你可以按照...
2025-01-09 03:30:03
不同的Jupyter No...
不同的Jupyter Notebooks默认情况下是单线程运行的,...
2025-01-08 15:31:56
不同版本的Python在J...
在Jupyter notebook中可以使用不同的kernel,每...
2025-01-08 06:31:12

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...