连接到远程位置#
已安装 NVIDIA AI Workbench,并且您在其中存储和运行项目的远程计算机称为远程位置。 有关更多信息,请参阅 AI Workbench 位置。
在远程计算机上安装 AI Workbench 后,您必须从本地计算机连接到远程计算机一次。 之后,每当您在本地打开 AI Workbench 时,远程计算机都会显示为一个位置。
AI Workbench 使用 SSH 安全地连接到远程位置。
使用本文档执行以下任务
先决条件#
在连接到远程位置之前,您必须具备以下条件
远程计算机上必须安装 AI Workbench。 目前,Ubuntu 是远程位置唯一支持的操作系统。 有关说明,请参阅 在 Ubuntu(远程)上安装、更新和卸载 AI Workbench。
以具有
sudo
权限的非 root 用户身份 SSH 访问远程计算机。
生成和存储您的 SSH 密钥#
使用以下步骤生成和存储 SSH 密钥。
重要提示
如果您想使用受密码保护的 SSH 密钥,请完成此步骤,然后参阅 (可选)使用受密码保护的 SSH 密钥。
生成 SSH 密钥并将公钥添加到远程实例的
.ssh/authorized_keys
文件。 在本地计算机上打开命令终端,并运行与您的操作系统对应的以下代码。 有关详细信息,请参阅 ssh-keygen 的 OpenBSD 手册页注意
首先进行以下更改
将
local-user
更改为本地计算机上的用户名。将
remote-user
更改为远程计算机上的用户名。将
10.123.4.56
更改为远程计算机的 IP 地址。如果您想使用受密码保护的 SSH 密钥,请将
-N '""'
更改为-N '<您的 SSH 密钥密码>'
1ssh-keygen -f "C:\Users\local-user\.ssh\id_rsa" -t rsa -N '""'
1type $env:USERPROFILE\.ssh\id_rsa.pub | ssh remote-user@10.123.4.56 "cat >> .ssh/authorized_keys"
1ssh-keygen -f "/Users/local-user/.ssh/id_rsa" -t rsa -N "" 2ssh-copy-id remote-user@10.123.4.56
1ssh-keygen -f "/home/local-user/.ssh/id_rsa" -t rsa -N "" 2ssh-copy-id remote-user@10.123.4.56
确定连接信息#
首次连接到远程位置时,您需要指定以下信息。
字段 |
描述 |
CLI |
---|---|---|
位置名称 |
您的远程位置名称。 |
|
描述 |
您对远程位置的描述。 |
|
主机名或 IP 地址 |
远程计算机的地址。 |
|
SSH 端口 |
默认为端口 22。 |
|
SSH 用户名 |
远程计算机上的用户名。 这是您手动 SSH 进入机器时看到的用户名。 |
|
SSH 密钥文件 |
指定本地计算机上私钥文件的绝对路径。 通常,这位于您主目录中的隐藏 .ssh 目录中。 您可以使用文件对话框选择文件。 在 Windows 上, 如果您使用受密码保护的 SSH 密钥,请选择以 |
|
Workbench 目录 |
远程计算机上的 |
|
连接到远程位置#
在您 生成和存储您的 SSH 密钥 之后,使用以下步骤之一连接到远程位置。
要从 AI Workbench 桌面应用程序连接到远程位置
在本地计算机上打开 AI Workbench 桌面应用程序。
单击添加远程位置,然后指定您的远程位置的连接信息。
单击添加位置。 远程计算机将作为位置显示在 AI Workbench 中。
要使用 CLI 连接到远程位置
打开 AI Workbench CLI 的命令窗口。 有关更多信息,请参阅 基本快速入门 (CLI)。
使用以下命令。 您可以指定所有标志,或者在不带标志的情况下运行命令以激活交互式表单。
1nvwb create context <location name> <hostname>
指定您的远程位置的连接信息。
(可选)使用受密码保护的 SSH 密钥#
在某些情况下,您可能需要使用受密码保护的 SSH 密钥来验证远程计算机的身份,例如当您的公司政策要求时。 AI Workbench 通过 SSH Agent 支持受密码保护的 SSH 密钥。 要将受密码保护的 SSH 密钥与 AI Workbench 一起使用,您必须 生成和存储您的 SSH 密钥,启动 SSH Agent,并将您的密钥添加到 SSH Agent,如下所述。
要启动 SSH Agent
使用开始菜单搜索并打开服务。
在服务列表中,找到并选择 OpenSSH Authentication Agent。
使用操作菜单、菜单栏或右键单击菜单打开属性窗口。
对于启动类型,选择自动,然后单击应用。 从现在开始,当您登录计算机时,SSH Agent 服务将启动。
单击启动以立即启动服务。
单击确定关闭属性窗口。
当您尝试添加密钥或使用该服务时,ssh-agent 服务会自动启动。
运行命令
systemctl list-unit-files --type service -all
以验证 ssh-agent 服务是否可用。运行命令
systemctl start ssh-agent
以启动 ssh-agent 服务。
要将密钥添加到 SSH Agent
使用之前的说明确保 SSH Agent 正在运行。
打开终端窗口。
注意
在 Windows 上,使用命令提示符,例如 Powershell 或命令提示符。 请勿使用 WSL。
运行以下命令。 密钥通常存储在
~/.ssh/
或C:\Users\<Username>\.ssh\
中。 如果密钥受密码保护,系统将提示您输入密码。1ssh-add <path to private key>
重要提示
当您指定远程位置的连接信息时,请选择以 .pub
结尾的公钥。
直接 SSH 进入位置#
AI Workbench 提供两种直接 SSH 进入远程位置的方法。 如果您正在使用 CLI,并且已经激活了一个位置(上下文),则可以使用命令 nvwb attach --host
SSH 进入远程位置。
当您创建远程位置时,AI Workbench 会自动更新您的 ~/.ssh/config
文件以自动创建别名。 因此,您也可以使用命令 ssh LOCATION_NAME
SSH 进入计算机位置。
注意
在 Windows 上,您必须从 WSL 运行这些命令。 有关更多信息,请参阅 基本快速入门 (CLI)。
SSH 详细信息#
当您连接到远程位置时,AI Workbench 会自动打开两个 SSH 隧道,将端口从远程系统映射到本地系统。 一个隧道用于服务,另一个隧道用于反向代理。 这使您可以从 localhost
安全地访问远程 AI Workbench 服务和反向代理。 默认情况下,AI Workbench 为本地位置的代理和服务分别分配从 10000 和 10001 开始的端口。 此信息保存在 contexts.json
文件中。
在您的本地系统中,您需要拥有 SSH 密钥文件,并且该文件应位于 ~/.ssh
目录中。 您应该将 SSH 密钥文件的权限设置为 400
。
如果您使用的是 Windows,AI Workbench 会将 Windows 上的 .ssh
目录映射到 /home/workbench/.ssh
。 这意味着权限可能不会像您预期的那样显示,但是您可以在 AI Workbench 应用程序中正常使用 SSH 密钥。