跳转到内容

通过 SSH 连接

通过 SSH,你可以在自己的终端和编辑器里使用实例。从控制台启动的实例都开启了 SSH,公钥只需要添加一次。

  1. 如果还没有密钥对,先生成一对。macOS、Linux 和 Windows PowerShell 都可以运行:

    Terminal window
    ssh-keygen -t ed25519 -C "laptop"

    私钥保存在 ~/.ssh/id_ed25519,公钥保存在 ~/.ssh/id_ed25519.pub。

  2. 打印公钥并复制:

    Terminal window
    cat ~/.ssh/id_ed25519.pub
  3. 在控制台打开 设置,点 新建 SSH 密钥。

  4. 名称 填这台电脑的名字,密钥 里粘贴公钥,然后点对话框里的 新建 SSH 密钥。

添加后,列表里会显示密钥的名称和指纹。每台电脑可以各添加一把,最多 10 把。

设置页的 SSH 密钥区域,已添加一把密钥

密钥只对添加之后启动的实例生效。已经在运行的实例,仍使用它启动时的那组密钥。

SSH 会比实例稍晚一点就绪:镜像里没有 SSH 服务端时,平台会在启动后自动安装并配置。配置期间,实例卡片显示 正在配置 SSH — 请稍后再连接,此时 JupyterLab 已经可以使用。

SSH 就绪后,卡片上会显示 SSH 命令。

点实例卡片上命令旁边的 复制,在终端里运行。命令格式如下:

Terminal window
ssh root@<host> -p <port>

登录用户是 root。第一次连接时输入 yes 接受主机密钥。

如果用的不是默认密钥,加上 -i 和私钥路径。

提示 “Remote host identification has changed”

Section titled “提示 “Remote host identification has changed””

新实例可能沿用之前实例的主机和端口,但主机密钥是新的。如果 ssh 提示主机密钥已更改,用实例卡片上给出的命令删掉旧记录,再重新连接:

Terminal window
ssh-keygen -R "[<host>]:<port>"

如果卡片显示 SSH 配置失败,说明这个实例无法通过 SSH 连接,但 JupyterLab 不受影响。可以继续用 JupyterLab,或者销毁实例后重新启动。

用 scp 或 rsync,主机、端口和用户与 SSH 命令相同,例如:

Terminal window
scp -P <port> results.tar.gz root@<host>:/workspace/

rcc instance ssh 不用复制命令就能直接连接,见管理 GPU 实例。