CLI SSH 连接运行中的 Jupyter
如果你在运行的 Jupyter 工作空间里可以看到如下图所示的「SSH 访问」信息,说明你的 Jupyter 工作空间已经支持新的 SSH 连接方式了,无需这种方式远程登录了。详细的文档可以参考 通过 SSH 连接运行中的 Jupyter 执行。
功能介绍
OpenBayes 支持通过 SSH 协议来访问运行中的 Jupyter 类型的执行。通过完成以下步骤就可以实现 SSH 访问了:
- 向 OpenBayes 上传个人的 SSH 公钥
- 在本地增加 OpenBayes SSH 访问的配置
- 通过命令
ssh <running-jupyter-id>.gear
实现 SSH 登录
只有运行中的「Jupyter 工作空间」才能通过 SSH 协议访问。
准备公钥
生成公钥
打开命令行输入 ssh-keygen -m PEM -t rsa -b 4096 -C "your.email@example.com"
(自己的邮箱) ,连续点击 Enter 即可生成一个密钥对。Windows 用户推荐采用 PowerShell 进行这步操作。
ssh-keygen -t rsa -b 4096 -C "your.email@example.com"
# Creates a new ssh key, using the provided email as a label
# Generating public/private rsa key pair.
Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] // 推荐使用默认地址
Enter passphrase (empty for no passphrase): //此处点击 Enter 键即可,也可以填写密码,填写密码后每次使用 SSH 方式推送代码时都会要求输入密码,由于这个 Key 也不是用于军事目的,所以也无需设置密码
如果你对这部分非常了解可以按照常规创建公钥的流程即可,更多的信息可以参见 生成 SSH 公钥。
成功后显示如下信息:
Your identification has been saved in /Users/you/.ssh/id_rsa.
# Your public key has been saved in /Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your.email@example.com
添加公钥
- 打开
~/.ssh
目录(Windows 下为用户目录的.ssh
目录),用编辑器打开id_rsa.pub
文件(此处是生成公钥的默认名称,如果生成公钥时采用了其他名称,打开相对应的文件即可),复制全部内容。 - 登录 OpenBayes 页面,在界面左侧导航栏点击「SSH 设置」->「添加新公钥」,将内容粘贴到「公钥」的文本框里并给自己的这个 SSH 公钥起个名字,点击添加 SSH 公钥即可。
通过命令行工具创建以及上传 SSH 公钥
如果你在本地没有任何公钥,可以通过命令 bayes ssh create
完成公钥的创建和上传。如果你在本地已经有了名为 ~/.ssh/id_rsa.pub
的公钥,通过 bayes ssh upload ~/.ssh/id_rsa.pub
即可完成公钥的上传。
在 安装 bayes 命令行工具 了解 bayes 命令行工具的安装方法。
初始化本地 SSH 配置
在添加完成公钥到 OpenBayes 后需要在本地添加额外设置。这部分通过命令行的命令:
bayes ssh init
即可完成。
登录运行的 Jupyter 执行
首先打开一个 Jupyter 执行,当执行处于「运行中」的状态后,通过命令
ssh <jupyter-job-id>.gear
即可完成连接。
其中 <jupyter-job-id>
是指当前的「执行」的 id,可以在页面上获取:
通过 VS Code SSH 连接
如果是通过 SSH 远程连接运行中的 Jupyter 环境,首先请阅读 VS Code 相关文档 Remote Development using SSH 了解 VS Code 对这方面的支持。并安装相应的插件。
-
首先点击左下角,打开远程窗口。
-
在命令面板选择「Connect to Host...」并回车。
-
输入
root@jupter-job-id.gear
,注意要把jupyter-job-id
部分替换成需要连接的 Jupyter 容器的 id,我这里的 id 是iay6ih7xrgal
。 -
从「容器概览」可以看到运行的执行以及其 id。
VS Code 会弹出一个新的窗口并提示连接成功了。目前其所指向的目录为 /root
而不是 OpenBayes 所默认使用的工作目录,点击左侧栏目中「打开文件夹」切换到 /openbayes/home
就可以看到目录中的内容了。