设置本地网络访问
NVIDIA Sync 可帮助设置和配置 SSH 访问
基本理念
如果您主要使用其他系统 (例如笔记本电脑) 工作,并希望将 DGX Spark 作为远程资源试用,本指南展示了如何通过 SSH 连接并工作。借助 SSH,您可以安全地启动终端会话或隧道端口,以直接从本地计算机访问 DGX Spark 上的 Web 应用程序和 API 。
有两种方案:NVIDIA Sync (推荐) 以实现高效的设备管理,或手动操作 SSH 以直接命令行控制。
开始之前,您需要了解一些重要概念:
安全外壳协议 (SSH) 是一种加密网络协议议,用于在非受信网络中安全连接远程计算机。它允许您像亲临现场一样打开 DGX Spark 的终端,运行命令、传输文件和管理服务——所有通信均采用端到端加密。
SSH 隧道 (也称为端口转发) 安全地映射笔记本电脑上的端口 (如localhost:8888) 至 DGX Spark 上应用正在监听的端口 (如运行在 8888端口 的 JupyterLab) 。当浏览器连接至 localhost 时,SSH 会通过加密通道将流量转发至远程服务,而无需将该端口暴露给外部网络。
mDNS (组播 DNS) 允许设备在本地网络中通过主机名相互发现,无需中央 DNS 服务器。您的 DGX Spark 会通过 mDNS 广播其主机名,因此您可直接使用类似 spark-abcd.local(注意 .local 后缀)的域名进行连接,无需手动查询 IP 地址。
您将完成
您可以选择通过 NVIDIA Sync 或手动 SSH 配置来建立与 DGX Spark 设备的安全 SSH 访问。NVIDIA Sync 提供图形化设备管理界面并集成应用启动功能,而手动 SSH 则赋予您直接命令行控制权及端口转发能力。这两种方案均支持您从笔记本电脑远程运行终端命令、访问 Web 应用程序并管理 DGX Spark 设备。
前置知识
终端/ 命令行基本用法
了解 SSH 概念和基于密钥的身份验证
熟悉主机名、IP 地址和端口转发等网络概念
先决条件
DGX Spark 设备已初始化且已创建本地用户帐户
笔记本电脑和 DGX Spark 位于同一网络
已拥有 DGX Spark 用户名及密码
已获取设备的 mDNS 主机名 (印于快速入门指南) 或 IP 地址
时间和风险
预估时间:5-10 分钟
风险级别:低 – SSH 设置涉及凭据配置,不会对 DGX Spark 设备进行系统级更改。
还原方式:编辑DGX Spark上的 ~/.ssh/authorized_keys 文件即可移除SSH密钥。
第 1 步 – 安装 NVIDIA Sync
NVIDIA Sync 是一款桌面应用,可通过本地网络将您的计算机连接到 DGX Spark。 它提供统一的操作界面,用于管理 SSH 访问并启动 DGX Spark 上的开发工具。
在您的计算机上下载并安装 NVIDIA Sync 以开始使用。
对于 macOS
下载完成后,打开 nvidia-sync.dmg
将应用程序拖至 “Applications” 应用程序文件夹
从“Applications” (应用程序) 文件夹中开启 NVIDIA Sync
对于 Windows
下载完成后,运行 installer .exe
安装完成后,NVIDIA Sync 将自动启动
对于 Debian/ Ubuntu
配置软件包仓库:
curl -fsSL https://workbench.download.nvidia.com/stable/linux/gpgkey | sudo tee -a /etc/apt/trusted.gpg.d/ai-workbench-desktop-key.asc echo "deb https://workbench.download.nvidia.com/stable/linux/debian default proprietary" | sudo tee -a /etc/apt/sources.list
更新软件包列表:
sudo apt update
安装 NVIDIA Sync:
sudo apt install nvidia-sync
第 2 步 – 配置 Apps
Apps 是安装在笔记本电脑上的桌面程序,经 NVIDIA Sync 配置后即可建立与 Spark 的自动连接并启动。
您可以随时在“Settings” (设置) 窗口中更改Apps选择。必须先安装标记为“不可用”的 Apps 才能使用。
默认Apps:
DGX Dashboard:预装在 DGX Spark 上的 Web 应用程序,用于系统管理及集成式 JupyterLab 访问。
Terminal:调用本地系统的内置终端,并自动建立 SSH 连接。
可选应用程序 (需要单独安装) :
VS Code:从 https://code.visualstudio.com/download 下载
Cursor:从 https://cursor.com/downloads 下载
NVIDIA AI Workbench:从 https://www.nvidia.com/workbench 下载
第 3 步 - 添加 DGX Spark 设备
注意:
您必须知道要连接的主机名或 IP 地址。
默认主机名可在包装盒内的快速入门指南中找到。例如,spark-abcd.local
如果设备已连接显示器,可在 DGX Dashboard 的 “Settings”(设置)页面查看主机名。
如果 .local (mDNS) 主机名在网络中不起作用,则必须使用 IP 地址。可通过 Ubuntu 系统网络设置或登录路由器管理控制台查询。
最后,填写以下表单以连接 DGX Spark:
名称:描述性标识 (例如,“My DGX Spark”)
主机名或 IP:mDNS 主机名 (如 spark-abcd.local) 或 Spark 的 IP 地址
用户名:您的 DGX Spark 用户帐户名称
密码:您的 DGX Spark 用户帐户密码
注意:
密码仅在此初始设置阶段用于配置基于 SSH 的身份验证,设置完成后其被立即丢弃且不会留存。NVIDIA Sync 将通过 SSH 连接至您的设备,并配置其本地生成的 SSH 密钥对。
单击“Add” (添加) 按钮,NVIDIA Sync 将自动执行以下操作:
在笔记本电脑上生成一对 SSH 密钥
使用您提供的用户名和密码连接到 DGX Spark
将公钥添加到设备上的~/.ssh/authorized_keys 中
在本地创建 SSH 别名供后续使用
清除用户名和密码信息
重要提示:
首次完成系统设置后,设备可能需要数分钟进行更新并接入网络。如果 NVIDIA Sync 连接失败,请等待 3-4 分钟,然后重试。
第 4 步 - 访问 DGX Spark
连接后,NVIDIA Sync 将作为在系统托盘/ 任务栏的应用。单击其图标即可打开设备管理界面。
SSH 连接:单击“Connect” (连接) 和“Disconnect” (断开连接) 按钮可控制与设备的整体 SSH 连接。
设置工作目录 (可选) :配置应用通过 NVIDIA Sync 启动时的默认工作目录。默认为远程设备上的主目录。
启动应用程序:点击任意已配置的 App,即可启动应用,并自动建立与 DGX Spark 的连接。
自定义端口 (可选) :可通过 “Settings” (设置) 界面配置 “Custom Ports” (自定义端口) ,以访问设备上运行的自定义 Web 应用或 API。
第 5 步 - 验证 SSH 设置
NVIDIA Sync 会为您的设备创建 SSH 别名,以便手动或从其他 SSH 应用快速访问。
使用 SSH 别名验证本地 SSH 配置是否正确。使用别名时系统不应提示输入密码:
# Configured if you use mDNS hostname ssh <SPARK_HOSTNAME>.local
或
# Configured if you use IP address ssh <IP>
在 DGX Spark 上,验证您是否已连接:
hostname whoami
退出 SSH 会话:
exit
第 6 步 - 后续步骤
通过启动开发工具测试您的设置:
单击 NVIDIA Sync 系统托盘图标。
选择“Terminal” (终端) ,在 DGX Spark 上打开终端会话。
选择 “DGX Dashboard” 以使用 JupyterLab 并管理更新。
尝试基于 Open WebUI 的自定义端口示例
第 1 步 - 验证 SSH 客户端可用性
确认您的系统已安装 SSH 客户端。大多数现代操作系统在默认情况下包括SSH客户端。在终端中运行以下命令:
# Check SSH client version ssh -V
预期输出应显示 OpenSSH 版本信息。
第 2 步 - 收集连接信息
收集 DGX Spark 所需的连接详细信息:
用户名:您的 DGX Spark 用户帐户名称
密码:您的 DGX Spark 帐户密码
主机名:您设备的 mDNS 主机名 (请参阅快速入门指南,例如, spark-abcd.local )
IP 地址:如下所述,仅当 mDNS 无法在您的网络上运行时,才需要使用替代方案
在某些网络配置 (如复杂的企业环境) 中,mDNS 无法按预期运行,此时您必须使用设备的 IP 地址进行连接。当尝试 SSH 连接时出现命令无限卡顿或收到如下错误提示,即可判定属于此类情况:
ssh: Could not resolve hostname spark-abcd.local: Name or service not known
测试 mDNS 解析
要测试 mDNS 是否正常工作,请使用 ping 工具:
ping spark-abcd.local
如果 mDNS 正常工作,并且您可以使用主机名进行 SSH 操作,则应看到如下所示的内容:
$ ping -c 3 spark-abcd.local PING spark-abcd.local (10.9.1.9): 56 data bytes 64 bytes from 10.9.1.9: icmp_seq=0 ttl=64 time=6.902 ms 64 bytes from 10.9.1.9: icmp_seq=1 ttl=64 time=116.335 ms 64 bytes from 10.9.1.9: icmp_seq=2 ttl=64 time=33.301 ms
如果 mDNS 不起作用,表示您必须直接使用您的 IP,您会看到如下所示:
$ ping -c 3 spark-abcd.local ping: cannot resolve spark-abcd.local: Unknown host
如果以上都不起作用,您需要:
登录路由器的管理面板,查找 IP 地址
连接显示器、键盘和鼠标以从 Ubuntu 桌面进行检查
第 3 步 - 测试初始连接
首次连接到 DGX Spark 以验证基本连接:
# Connect using mDNS hostname (preferred) ssh <YOUR_USERNAME>@<SPARK_HOSTNAME>.local
或
# Alternative: Connect using IP address ssh <YOUR_USERNAME>@<DEVICE_IP_ADDRESS>
将占位符替换为您的实际值:
<YOUR_USERNAME>:您的 DGX Spark 帐户名称
<SPARK_HOSTNAME>:不带 .local 后缀的设备名称
<DEVICE_IP_ADDRESS>:设备的 IP 地址
在首次连接时,您将看到主机签名警告。类型 yes 然后按 Enter, 然后在系统提示时输入您的密码。
第 4 步 - 验证远程连接
连接后,确认使用的是 DGX Spark 设备:
# Check hostname hostname # Check system information uname -a # Exit the session exit
第 5 步 - 在 Web 应用中使用 SSH 隧道
要访问 DGX Spark 上运行的 Web 应用程序,请使用 SSH 端口 转发。在本示例中,我们将访问 DGX Dashboard Web 应用程序。
注意:
DGX Dashboard在本地主机上运行,端口为 11000。
打开隧道:
# local port 11000 → remote port 11000 ssh -L 11000:localhost:11000 <YOUR_USERNAME>@<SPARK_HOSTNAME>.local
建立隧道后,在浏览器中访问转发的 Web 应用程序:http://localhost:11000
第 6 步 - 后续步骤
配置 SSH 访问后,您可以:
打开持久性终端会话: ssh <YOUR_USERNAME>@<SPARK_HOSTNAME>.local 。
转发 Web 应用程序端口: ssh -L <local_port>:localhost:<remote_port><YOUR_USERNAME>@<SPARK_HOSTNAME>.local 。
通过 NVIDIA Sync 连接时可能出现的问题
错误 | 原因 | 修复 |
|---|---|---|
设备名称无法解析 (Device name doesn't resolve) | 网络屏蔽 mDNS 服务 | 使用 IP 地址替代 hostname.local |
连接被拒绝/超时 (Connection refused/timeout) | DGX Spark 未启动或 SSH 未就绪 | 等待设备启动完成;系统更新结束后 SSH 即可使用 |
身份验证失败 (Authentication failed) | SSH 密钥设置不完整 | 在NVIDIA Sync中重新运行设备设置;检查登录凭据 |
通过手动 SSH 连接时可能出现的问题
错误 | 原因 | 修复 |
|---|---|---|
设备名称无法解析 (Device name doesn't resolve) | 网络屏蔽 mDNS 服务 | 使用 IP 地址替代 hostname.local |
连接被拒绝/超时 (Connection refused/timeout) | DGX Spark 未启动或 SSH 未就绪 | 等待设备启动完成;系统更新结束后 SSH 即可使用 |
端口转发失败 (Port forwarding fails) | 服务未运行或端口冲突 | 确认远程服务处于活动状态;更换本地端口 |