SSH 远程连接
您可以通过 SSH 安全地从本地计算机登录到智算云平台的 AICoder,并在 AICoder 上执行命令。
前置条件
- 已成功申请 AICoder。只要成功打开 AICoder Shell,即表示已成功申请 AICoder。
关于 SSH 客户端
请确保本地计算机已安装 SSH 客户端,确保 ssh
命令可用。
- Mac 用户可使用自带终端(Terminal)。
- Windows 用户可在 CMD 或 PowerShell 中使用 Windows 自带的 OpenSSH 客户端。如果无法使用 CMD 或 PowerShell,可下载安装 Git for Windows ,通过 Git Bash 使用 SSH。
- 其他支持 SSH 客户端的工具,例如 VS Code。
SSH 远程登录
AICoder 仅可使用 SSH 公私钥对的验证。从 AICoder 窗口中可一键复制 SSH 登录命令。
NOTE
AICoder 禁用了 SSH 基于密码的认证,仅启用基于公钥的身份验证。
使用 SSH 密钥认证
只要 AICoder ~/.ssh/authorized_keys
文件中包含您的 SSH 公钥,即可通过密钥认证直接登录。
建议您使用智算云平台的 SSH 公钥管理功能。在您的 AICoder 每次启动时,平台会检查 ~/.ssh/authorized_keys
文件,并自动注入您已添加的 SSH 公钥。如未生效,请考虑一键重启 AICoder 实例。
如果不使用智算云平台的 SSH 公钥管理功能,也可在 AICoder 中手动修改 ~/.ssh/authorized_keys
文件,添加公钥,该修改即刻生效。手动修改将持久化保存在 AICoder 系统盘。如果重置 AICoder,手动修改将丢失。
TIP
如果未在创建 AICoder 时添加公钥,可通过网页登录 AICoder 添加公钥。
一键复制 SSH 命令
打开 AICoder Shell,可一键复制 SSH 地址。
AICoder Shell 的 SSH 访问地址格式:
ssh -J ssh-jumper.cloud.infini-ai.com username@aicoder_id
例如,用户 Jane Doe 的 SSH 连接命令可能是:
ssh -J ssh-jumper.cloud.infini-ai.com root@aic-c8lkg5b88mieqw6b
此命令使用了 SSH 跳转(-J
)功能,将连接首先路由到跳板主机,然后再转发到最终目标实例。root
为默认 SSH 登录用户名(部分旧版实例展示为非 root 普通用户名,请重启),aicoder_id
替换为目标实例的标识。建议您直接在平台一键复制 SSH 连接命令。
使用 alias 快速连接
您可以将 SSH 连接命令保存为 Bash/Zsh 别名,以便快速访问 AICoder Shell。
如果仅需临时生效(Bash、Zsh),可直接使用 alias
命令。终端关闭后 alias 失效。
alias aic='ssh -J ssh-jumper.cloud.infini-ai.com root@aic-c8lkg5b88mieqw6b'
但如需永久保存 Bash/Zsh 别名,通常还是需要编辑配置文件。对于 Bash 和 Zsh,添加别名到各自的配置文件中:
Bash:
~/.bashrc
或~/.bash_profile
bashecho "alias aic='ssh -J ssh-jumper.cloud.infini-ai.com root@aic-c8lkg5b88mieqw6b'" >> ~/.bashrc
运行
source ~/.bashrc
重新加载配置。Zsh:
~/.zshrc
bashecho "alias aic='ssh -J ssh-jumper.cloud.infini-ai.com root@aic-c8lkg5b88mieqw6b'" >> ~/.zshrc
运行
source ~/.zshrc
重新加载配置。
添加永久别名后,都需要重新加载配置文件或重启终端才能生效。
如果您更习惯使用 SSH 别名(而不是 Bash/Zsh 别名),也可以自行修改本地的 .ssh/config
文件。配置完成后命令可简化为 ssh aicoder
。以下仅提供样本配置:
Host aicoder
HostName aic-c8lkg5b88mieqw6b
User root
IdentitiesOnly Yes
ProxyJump ssh-jumper.cloud.infini-ai.com
如果使用了非默认的 SSH 私钥文件路径,请务必确保私钥文件权限符合要求(可对私钥文件执行 chmod 600
),并在配置中指定私钥文件路径。以下仅提供一个样本配置:
Host aicoder
HostName aic-c8lkg5b88mieqw6b
User root
IdentitiesOnly Yes
IdentityFile ~/.ssh/custom_private_key
ProxyJump ssh-jumper.cloud.infini-ai.com
其他 SSH 功能
- 文件传输: 通过
sftp
或scp
安全地传输文件。
使用 root
账号
AICoder Shell 默认使用 root
帐号登录。
WARNING
部分旧版 AICoder 实例仍默认使用非 root 普通用户名登录,重启后将自动更新。
NOTE
部分旧版 AICoder Shell 曾使用 shell
用户登录。如有需要,使用以下命令切换至 shell
用户。
sudo runuser -u shell /bin/bash
或sudo su - shell -s /bin/bash
无法建立 SSH 连接
如果 SSH 命令中的 用户名、AICoder ID 无误,通过请通过以下步骤检查问题。
检查 SSH 配置
检查本地计算机的 SSH 私钥文件。是否在创建 SSH 密钥对时修改了默认的私钥文件名?
- MacOS/Linux 私钥文件默认路径为:
~/.ssh/
- Windows:
C:\Users\<用户名>\.ssh\
SSH 客户端一般在默认路径下按顺序寻找以下私钥文件。如果使用非默认私钥文件名,例如
id_rsa-mykey
,可使用 SSH 的-i
选项指定私钥文件,或在修改本地 SSH 配置文件。也可以重新生成 SSH 密钥对,并使用默认私钥文件名。bashid_rsa id_ecdsa id_ecdsa_sk id_ed25519 id_ed25519_sk id_dsa
- MacOS/Linux 私钥文件默认路径为:
检查 AICoder 内 SSH 的授权公钥文件(
authorized_keys
),确保 AICoder 中已成功添加您的 SSH 公钥。输出 AICoder 中授权公钥文件内容:bashcat ~/.ssh/authorized_keys
cat
命令的输出结果中应包含您本地的 SSH 公钥(.pub
后缀)文件内容。
检查本地网络环境
部分网络环境由于安全考虑,会限制 SSH 远程连接外网的服务器,请检查本地网络环境是否允许 SSH 连接。
使用 nc
命令测试是否可连接至智算云平台的 SSH 跳板机:
# 输入命令后,按回车键
nc -vz ssh-jumper.cloud.infini-ai.com 22
# 如果连接成功,则显示以下内容
Connection to ssh-jumper.cloud.infini-ai.com port 22 [tcp/*] succeeded!
如果 nc
命令无法建立连接,请联系您的网络管理员。
联系无问芯穹
如果您需要帮助,请联系无问芯穹,并提供 SSH 命令的错误输出。
命令格式:
ssh -vv -J ssh-jumper.cloud.infini-ai.com root@aic-c8lkg5b88mieqw6b
root
为默认 SSH 登录用户名(部分旧版实例展示为非 root 普通用户名,请重启)。执行命令时,请将其中 aic-c8lkg5b88mieqw6b
替换为您的 AICoder ID。