GenStudio 于 2025 年 5 月 推出 GenStudio 高级版/企业版升级服务,大幅提升 API 调用频率GenStudio 于 2025 年 5 月 推出 GenStudio 高级版/企业版升级服务,大幅提升 API 调用频率 ,依然保留免费基础服务了解计费
Skip to content

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 公钥管理功能:

  1. 访问智算云平台的 SSH 公钥管理页面。添加您的 SSH 公钥。

    alt text

  2. 如果已经在网页端打开过 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 和文件传输命令。

alt text

直接复制弹窗中的 SSH 连接命令。在本地终端中粘贴并执行该命令,即可通过 SSH 连接到 AICoder。

注意

  • 该操作可能要求用户已完成实名认证。请按照提示完成认证。
  • 首次打开后,SSH 地址仅以密文展示。阅读并同意补充协议后,弹窗中将展示展示当前 AICoder 实例的真实地址。

自行拼接

您也可以自行拼接 AICoder 的 SSH 远程连接命令。

SSH 命令格式解析:

bash
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。

    shell
    root@aic-da3sf44m5p44xkga-aicoder-0:~#

使用以上格式,可拼接出一个完整的 SSH 命令(示例):

shell
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。

第三方工具

简化 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。详见使用自定义私钥

扩展功能

文件传输:通过 sftpscp 安全传输文件。请参考文件传输指南

用户账户说明

AICoder Shell 默认使用 root 帐号登录。部分旧版实例可能使用非 root 用户,建议重启实例以更新。

注意

如需切换到 shell 用户,可使用以下命令:

  • sudo runuser -u shell /bin/bash
  • sudo su - shell -s /bin/bash

常见问题

无法建立 SSH 连接

请按照以下步骤排查:

  1. 检查 SSH 私钥文件

    • MacOS/Linux 私钥文件默认路径为: ~/.ssh/
    • Windows: C:\Users\<用户名>\.ssh\

    确认本地私钥文件路径正确(常见为 ~/.ssh/id_rsa/id_ed25519 等)。SSH 客户端一般在默认路径下按顺序寻找以下私钥文件。如果使用非默认私钥文件名,例如 id_rsa-mykey,导致 SSH 客户端无法找到私钥,可以重新生成 SSH 密钥对,并使用默认私钥文件名。如果必须使用非默认私钥文件名,请在 SSH 连接命令中使用 -i 选项手动指定私钥。也可修改本地 SSH 配置文件,指向正确的私钥文件。

  2. 检查 AICoder 内 SSH 公钥文件,确保包含您的公钥。

    bash
    cat ~/.ssh/authorized_keys
  3. 测试网络连接。例如,使用 nc 命令测试与跳板机的连接:

    bash
    nc -vz ssh-jumper.cloud.infini-ai.com 22

    注意,跳板机具体地址必须以您的网页弹窗中具体展示的值为准

    • 成功:显示 Connection to ssh-jumper.cloud.infini-ai.com port 22 [tcp/*] succeeded!
    • 失败:网络问题或防火墙限制。请联系您的网络管理员,检查网络设置。
  4. 如仍无法解决,请执行以下命令获取详细输出,并联系技术支持:

    bash
    ssh -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 公钥指南