通过 ssh 连接运行中的 Jupyter 执行

最后更新于

功能介绍

OpenBayes 支持通过 ssh 协议来访问运行中的 Jupyter 类型的执行。通过完成以下步骤就可以实现 ssh 访问了:

  1. 向 OpenBayes 上传个人的 ssh 公钥
  2. 在本地增加 OpenBayes ssh 访问的配置
  3. 通过命令 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

添加公钥

  1. 打开 ~/.ssh 目录(windows 下为用户目录的 .ssh 目录),用编辑器打开 id_rsa.pub 文件(此处是生成公钥的默认名称,如果生成公钥时采用了其他名称,打开相对应的文件即可),复制全部内容。
  2. 登录 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,可以在页面上获取:

通过本地开发工具远程连接 OpenBayes 的执行

  1. 通过 VS Code 连接,见 Remote Development using SSH
  2. 通过 PyCharm 连接,见 Configure an interpreter using SSH,注意只有专业版才支持这个功能