SSH 远程连接
AICoder 是智算云平台上的一个云端辅助开发环境,提供免费的 CPU 实例,专为管理和辅助 AI 工作负载而设计。通过 SSH,您可以从本地计算机安全地访问 AICoder,执行命令、管理文件等。本文将指导您完成 SSH 远程连接的配置和使用过程。
前置条件
- 在开始之前,请确保您已成功申请 AICoder。只要成功打开 AICoder Shell,即表示已成功申请 AICoder。如果尚未完成此步骤,请参考使用 AICoder Shell。
- 本文假设用户已了解如何生成与添加 SSH 公钥,以及基于公私钥验证的 SSH 远程登录方式。如需帮助,建议参考阮一峰的 SSH 教程。
准备 SSH 客户端
SSH 客户端是一个用于通过安全通道连接远程服务器的工具。请确保您的本地计算机已安装 SSH 客户端,并可使用 ssh
命令。
- Mac 用户:可使用自带终端(Terminal)。
- Windows 用户:可在 CMD 或 PowerShell 中使用 Windows 自带的 OpenSSH 客户端。如无法使用,可下载安装 Git for Windows,通过 Git Bash 使用 SSH。
- 其他工具:如 VS Code 等支持 SSH 客户端的工具。
配置并连接 AICoder
AICoder 仅支持 SSH 密钥对认证,您需要向智算云平台提供您的 SSH 公钥。SSH 密钥认证使用公私钥对进行身份验证,确保连接安全可靠。
注意
AICoder 禁用了 SSH 基于密码的认证,仅支持基于 SSH 公私钥对的身份验证。
Step 1 添加 SSH 公钥
您需要将 SSH 公钥添加到 AICoder,以便通过密钥认证登录。推荐使用智算云平台的 SSH 公钥管理功能:
访问智算云平台的 SSH 公钥管理页面。添加您的 SSH 公钥。
如果已经在网页端打开过 AICoder Shell,由于实例会持续运行,所以您添加的 SSH 公钥不会立即在 AICoder 中生效。请在网页端打开 AICoder Shell,在 Shell 窗口左上角找到一键重启图标并点击,重启完成后自动注入平台已有的 SSH 公钥。重新启动时,平台会自动将公钥注入到
~/.ssh/authorized_keys
文件中。
Step 2 获取 AICoder SSH 连接命令
AICoder 支持 SSH 远程登录,但不支持 SSH 直接连接,需要使用 SSH 跳转功能,该连接首先路由到智算云平台的跳板机,再连接到 AICoder 实例。请使用下方任一方式获取 SSH 连接命令。
一键复制
在网页端打开 AICoder Shell,在 Shell 窗口右上角找到钥匙图标,点击展示 SSH 和文件传输命令。
直接复制弹窗中的 SSH 连接命令。在本地终端中粘贴并执行该命令,即可通过 SSH 连接到 AICoder。
注意
- 该操作可能要求用户已完成实名认证。请按照提示完成认证。
- 首次打开后,SSH 地址仅以密文展示。阅读并同意补充协议后,弹窗中将展示展示当前 AICoder 实例的真实地址。
自行拼接
您也可以自行拼接 AICoder 的 SSH 远程连接命令。
SSH 命令格式解析:
ssh -J <ssh-jumper> root@<aicoder_id>
-J <ssh-jumper>
用于启用 SSH 跳转功能,该连接首先路由到智算云平台的跳板机,再由跳板机转发到您的 AICoder 实例。跳板机具体地址与网页弹窗中具体展示的值一致: ssh-jumper.cloud.infini-ai.com。root
为默认 SSH 登录用户名(部分旧版实例展示为非 root 普通用户名,请重启)。<aicoder_id>
为待连接的目标 AICoder ID。您需要在网页端打开 AICoder Shell,在看到类似下方的命令行提示后,获取aic-
前缀的字符串,移除后缀-aicoder-0
即为 AICoder ID。如下方示例,某用户登录的 AICoder 主机为
aic-da3sf44m5p44xkga-aicoder-0
,其中aic-da3sf44m5p44xkga
即为 AICoder ID。shellroot@aic-da3sf44m5p44xkga-aicoder-0:~#
使用以上格式,可拼接出一个完整的 SSH 命令(示例):
ssh -J ssh-jumper.cloud.infini-ai.com root@aic-da3sf44m5p44xkga
Step 3 使用 SSH 客户端进行连接
请确保您的本地计算机已安装 SSH 客户端,并可使用 ssh
命令。
系统自带终端
Linux/Mac 用户:可使用自带终端(Terminal)。
Windows 用户:可在 CMD 或 PowerShell 中使用 Windows 自带的 OpenSSH 客户端。
注意
如果无法安装 Windows 自带的 OpenSSH 客户端,可下载安装 Git for Windows,通过 Git Bash 使用 SSH。
第三方工具
- VSCode:如 VS Code 等支持 SSH 客户端的工具。
- 安装 Remote - SSH 扩展 ,也可以选择安装 Remote Development 远程开发扩展包。
- 在 VS Code 左侧找到 Remote SSH 扩展中,点击
+
新增 SSH 主机,贴入上一步获取的 AICoder SSH 连接命令。
简化 SSH 连接
为了方便快速访问 AICoder,您可以设置别名(bash/zsh alias)或修改 SSH 配置文件。以下仅介绍编辑 SSH 配置文件的方式。配置完成后,连接 AICoder 的 SSH 命令可简化为 ssh aicoder
:
打开本地 .ssh/config
,添加如下记录:
Host aicoder
HostName aic-c8lkg5b88mieqw6b
User root
IdentitiesOnly Yes
ProxyJump ssh-jumper.cloud.infini-ai.com
Host
:自定义远程主机名,例如aicoder
HostName
:必须填写 AICoder ID。User
:SSH 远程登录用户,填写 AICoder 默认用户root
。IdentitiesOnly
:填写 Yes。ProxyJump
:表示使用了 SSH 跳转功能,该连接首先路由到跳板机,再由平台转发到您的 AICoder 实例。注意,跳板机具体地址必须以您的网页弹窗中具体展示的值为准。
警告
如果使用非默认私钥文件,请确保私钥权限正确(chmod 600
),并在配置中指定 IdentityFile
。详见使用自定义私钥。
扩展功能
文件传输:通过 sftp
或 scp
安全传输文件。请参考文件传输指南。
用户账户说明
AICoder Shell 默认使用 root
帐号登录。部分旧版实例可能使用非 root 用户,建议重启实例以更新。
注意
如需切换到 shell
用户,可使用以下命令:
sudo runuser -u shell /bin/bash
sudo su - shell -s /bin/bash
常见问题
无法建立 SSH 连接
请按照以下步骤排查:
检查 SSH 私钥文件。
- MacOS/Linux 私钥文件默认路径为:
~/.ssh/
- Windows:
C:\Users\<用户名>\.ssh\
确认本地私钥文件路径正确(常见为
~/.ssh/id_rsa
/id_ed25519
等)。SSH 客户端一般在默认路径下按顺序寻找以下私钥文件。如果使用非默认私钥文件名,例如id_rsa-mykey
,导致 SSH 客户端无法找到私钥,可以重新生成 SSH 密钥对,并使用默认私钥文件名。如果必须使用非默认私钥文件名,请在 SSH 连接命令中使用-i
选项手动指定私钥。也可修改本地 SSH 配置文件,指向正确的私钥文件。- MacOS/Linux 私钥文件默认路径为:
检查 AICoder 内 SSH 公钥文件,确保包含您的公钥。
bashcat ~/.ssh/authorized_keys
测试网络连接。例如,使用
nc
命令测试与跳板机的连接:bashnc -vz ssh-jumper.cloud.infini-ai.com 22
注意,跳板机具体地址必须以您的网页弹窗中具体展示的值为准。
- 成功:显示
Connection to ssh-jumper.cloud.infini-ai.com port 22 [tcp/*] succeeded!
- 失败:网络问题或防火墙限制。请联系您的网络管理员,检查网络设置。
- 成功:显示
如仍无法解决,请执行以下命令获取详细输出,并联系技术支持:
bashssh -vv -J ssh-jumper.cloud.infini-ai.com root@aic-c8lkg5b88mieqw6b
注意,跳板机具体地址必须以您的网页弹窗中具体展示的值为准。
在 SSH Config 文件中使用自定义私钥
如果使用了非默认的 SSH 私钥文件路径,请务必确保私钥文件权限符合要求(可对私钥文件执行 chmod 600
),并在本地的 .ssh/config
文件配置中使用 IdentityFile
指定自定义私钥文件路径。
以下仅提供一个样本配置:
Host aicoder
HostName aic-c8lkg5b88mieqw6b
User root
IdentitiesOnly Yes
IdentityFile ~/.ssh/custom_private_key
ProxyJump ssh-jumper.cloud.infini-ai.com
是否支持在手动在 AICoder 中添加公钥
如暂不便重启,也可以手动在 AICoder 中添加公钥,修改后立即生效。AICoder 下次重启时,平台将自动写入最新的 SSH 公钥,并自动移除手动添加的公钥中重复的公钥。请参考添加 SSH 公钥指南。