Skip to content

易算直连使用手册 ​

概述 ​

易算直连是易算平台内置的 SSH 跳板服务,提供统一的 SSH 入口访问集群内的计算资源实例。支持 SSH 终端、SFTP 文件传输、SCP 文件拷贝、RSYNC 同步 等协议,并支持 公钥+密码双因素认证 保障安全。

支持资源类型 ​

  • 6966P
  • 8368Q
  • 6258R
  • 7H12
  • 云主机

一、连接地址 ​

根据您的账号类型,选择对应的连接地址,端口统一为 44322:

账号类型连接地址端口
ysn96p 开头账号agent-n96p.yeesuan.com44322
ysn83q 开头账号agent-n83q.yeesuan.com44322
其他账号ssh.yeesuan.com44322

说明:用户名::实例ID 中的 :: 是分隔符,实例ID在实例列表菜单中查看。


二、本地 SSH / SFTP 连接 ​

2.1 命令行连接(Terminal / CMD / PowerShell) ​

菜单模式(推荐) ​

登录后交互式选择要连接的实例:

bash
# 带密钥连接
ssh -i ~/.ssh/my-key.pem -p 44322 用户名@ssh.yeesuan.com

登录成功后会显示实例列表菜单:

=============集群会话==============
1.计算节点A-zhangsan-运行中-INS001
2.登录节点B-lisi-运行中-INS002
============自定义会话=============
3.我的开发机-xxx
===================================
认证成功,请输入数字选择进入的实例

输入数字后回车即可进入对应实例的终端。

菜单操作说明:

操作快捷键
选择实例输入数字 + 回车
返回选择界面Ctrl + D
退出当前会话exit

直达模式 ​

直接指定实例名,跳过菜单选择:

bash
# 带密钥连接(密钥 + 密码双因素认证)
ssh -i ~/.ssh/my-key.pem -p 44322 用户名::实例ID@ssh.yeesuan.com

# 示例:使用实例ID
ssh -i ~/.ssh/my-key.pem -p 44322 zhangsan::1916401158516867074@ssh.yeesuan.com

# Windows 兼容写法(避免 :: 被误解析为端口分隔符)
ssh -i ~/.ssh/my-key.pem -p 44322 -o "User=用户名::实例ID" ssh.yeesuan.com

2.2 使用 Xshell ​

  1. 打开 Xshell → 新建会话
  2. 填写连接信息:
    • 主机:ssh.yeesuan.com(或对应集群地址)
    • 端口:44322
  3. 配置用户名和密码
  4. 如需密钥认证:左侧菜单 → 用户身份验证 → 方法选择 Public Key → 选择私钥文件
  5. 点击连接
  6. 弹窗输入密码

2.3 使用 PuTTY ​

  1. 打开 PuTTY
  2. 填写 Host Name:ssh.yeesuan.com(或对应集群地址)
  3. Port:44322
  4. Connection type:SSH
  5. 如需密钥认证:左侧菜单 → Connection → SSH → Auth → Credentials → 选择私钥文件(.ppk 格式)
  6. 点击 Open,输入用户名和密码

2.4 SFTP 文件管理 ​

Xshell 内置 SFTP ​

使用 SSH 连接成功后,点击 Xshell 顶部工具栏的 SFTP 图标,即可打开 SFTP 文件管理界面,文件操作自动转发到目标实例。

命令行 SFTP ​

bash
# 带密钥连接
sftp -i ~/.ssh/my-key.pem -P 44322 用户名::实例ID@ssh.yeesuan.com

# 示例
sftp -i ~/.ssh/my-key.pem -P 44322 zhangsan::1916401158516867074@ssh.yeesuan.com

# Windows 兼容写法(避免 :: 被误解析为端口分隔符)
sftp -i ~/.ssh/my-key.pem -P 44322 -o "User=用户名::实例ID" ssh.yeesuan.com

# 连接后常用命令
sftp> ls                  # 列出文件
sftp> cd /data            # 切换目录
sftp> get remote.txt      # 下载文件
sftp> put local.txt       # 上传文件
sftp> get -r remote_dir/  # 递归下载目录
sftp> put -r local_dir/   # 递归上传目录
sftp> rm file.txt         # 删除文件
sftp> mkdir new_dir       # 创建目录
sftp> exit                # 退出

三、使用 VSCode 工作区连接 ​

3.1 使用 SSH-Lite 插件(推荐) ​

  1. 在 VSCode 扩展商店搜索安装 SSH-Lite 插件
  2. 点击 SSH HOST 右侧的 + 加号,新建会话
  3. 输入连接信息:
yaml
# 带密钥连接
MyServer: 主机名称(自定义,如 "开发节点A")
Hostname: 连接地址(如 agent-n96p.yeesuan.com)
Port: 44322
Username: 平台账号::实例ID(如 zhangsan::1916401158516867074)
Private key: C:\Users\xxx\.ssh\my-key.pem(私钥文件路径)
  1. 点击左侧连接,输入平台账号密码即可登录
  2. 连接成功后,可以进行文件编辑和终端命令交互

3.2 使用 Remote-SSH 插件 ​

Remote-SSH 是 Microsoft 官方远程开发插件,适合需要在实例上直接打开目录、进行完整开发调试的场景。

3.2.1 安装插件 ​

在 VSCode 扩展商店(Ctrl + Shift + X)中搜索 Remote - SSH 并安装。

3.2.2 配置连接信息 ​

编辑本机 SSH 配置文件 ~/.ssh/config(Windows 为 C:\Users\<用户名>\.ssh\config;文件不存在时新建即可,注意不要带扩展名),添加以下内容:

text
# 带密钥连接
Host yeesuan-nodeB
    HostName ssh.yeesuan.com
    Port 44322
    User zhangsan::1916401158516867074
    IdentityFile ~/.ssh/my-key.pem

# 仅密码连接(不使用密钥时省略 IdentityFile)
Host yeesuan-nodeA
    HostName agent-n96p.yeesuan.com
    Port 44322
    User zhangsan::1916401158516867074

字段说明:

字段说明
Host主机名称,自定义,仅用于在 VSCode 中识别该连接
HostName连接地址,按「一、连接地址」的规则选择
Port固定为 44322
User平台账号::实例ID,可跳过实例选择菜单直达目标实例;只填平台账号则登录后再选择实例
IdentityFile私钥文件路径,仅密码连接时可省略

说明:

  • 配置文件中的 :: 无需转义,可直接书写;这与 2.1 节的命令行写法不同。
  • 需要连接多个实例时,重复添加多段 Host 配置即可。

3.2.3 连接实例 ​

  1. 按 F1(或 Ctrl + Shift + P)→ 输入 Remote-SSH: Connect to Host... → 选择上一步配置的 Host;也可以在左侧活动栏打开 Remote Explorer,在 SSH 列表中找到目标主机,点击右侧箭头连接。

  2. 首次连接会提示输入平台账号密码。

  3. 左下角显示 SSH: 主机名称 即连接成功,随后可通过 File → Open Folder 打开实例上的目录,进行文件编辑和终端命令交互。

3.2.4 常见问题排查 ​

1. 查看连接日志

连接失败时,按 Ctrl + Shift + U 打开输出面板,在下拉列表中选择 Remote - SSH,查看握手及 vscode-server 安装过程的日志。

2. 检查集群 GLIBCXX 版本

要求连接集群的 GLIBCXX 版本大于等于 3.4.25,在实例中执行以下命令查看:

bash
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

确认输出中包含 GLIBCXX_3.4.25 及更高版本;版本过低说明集群 libstdc++ 过旧,需要升级后再连接。

3. 目标集群无法自行下载 vscode-server,需要手动下载并离线安装

(1) 下载对应版本的 server 包

text
https://update.code.visualstudio.com/commit:<COMMIT_ID>/server-linux-<ARCH>/stable
  • COMMIT_ID:VSCode 客户端 Help → About 中 Commit 行后的值
  • ARCH:目标集群架构,在实例中输入 uname -m 查看
uname -m 输出架构类型下载包中的 arch 字段
x86_6464位 Intel/AMDx64
aarch6464位 ARMarm64
armv7l32位 ARMarmhf

示例(x86_64 服务器):

text
https://update.code.visualstudio.com/commit:8b640eef5a6c6089c029249d48efa5c99adf7d51/server-linux-x64/stable

(2) 将下载的压缩包传输到目标实例的家目录

可使用「四、SCP 文件拷贝」或「五、RSYNC 文件同步」上传。

(3) 解压安装到 ~/.vscode-server/bin/<COMMIT_ID>

bash
# 设置变量(COMMIT_ID 换成本次下载对应的值)
COMMIT_ID="8b640eef5a6c6089c029249d48efa5c99adf7d51"

# 创建目标目录
mkdir -p ~/.vscode-server/bin/$COMMIT_ID

# 进入目标目录,清空可能存在的损坏文件
cd ~/.vscode-server/bin/$COMMIT_ID
rm -rf *

# 解压上传的包(假设压缩包已传到实例家目录)
tar -xzf ~/vscode-server-linux-x64.tar.gz --strip-components=1

# 赋予 node 二进制执行权限(通常已含)
chmod +x node bin/code-server 2>/dev/null || true

# 清理压缩包(可选)
rm ~/vscode-server-linux-x64.tar.gz

(4) 验证

执行 ls,至少应看到以下内容,缺少任一项说明解压失败或压缩包损坏,请重新下载:

text
bin  extensions  node  node_modules  out  package.json  product.json

(5) 清理旧会话锁

避免旧会话的锁导致 vscode-server 无法启动:

bash
rm -f ~/.vscode-server/bin/$COMMIT_ID/vscode-remote-lock.*

完成后重新发起连接即可。


四、SCP 文件拷贝 ​

4.1 下载文件(从实例到本地) ​

bash
# 带密钥连接
scp -i ~/.ssh/my-key.pem -P 44322 -o "User=用户名::实例ID" "连接地址:/远程路径/文件" ./本地路径/

# 示例:下载文件到当前目录
scp -i ~/.ssh/my-key.pem -P 44322 -o "User=zhangsan::1916401158516867074" "agent-n96p.yeesuan.com:/root/redis.tar" ./

# 递归下载目录
scp -i ~/.ssh/my-key.pem -r -P 44322 -o "User=zhangsan::1916401158516867074" "ssh.yeesuan.com:/data/logs/" ./logs/

4.2 上传文件(从本地到实例) ​

bash
# 带密钥连接
scp -i ~/.ssh/my-key.pem -P 44322 -o "User=用户名::实例ID" ./本地文件 "连接地址:/远程路径/"

# 示例:上传文件到实例
scp -i ~/.ssh/my-key.pem -P 44322 -o "User=zhangsan::1916401158516867074" ./model.pt "agent-n96p.yeesuan.com:/root/"

# 递归上传目录
scp -i ~/.ssh/my-key.pem -r -P 44322 -o "User=zhangsan::1916401158516867074" ./project/ "ssh.yeesuan.com:/home/zhangsan/"

4.3 常用 SCP 参数 ​

bash
# 压缩传输(适合大文件)
scp -i ~/.ssh/my-key.pem -C -P 44322 -o "User=用户名::实例ID" ...

# 限速传输(KB/s,如 8MB/s)
scp -i ~/.ssh/my-key.pem -l 8192 -P 44322 -o "User=用户名::实例ID" ...

五、RSYNC 文件同步 ​

RSYNC 适合大文件或增量同步场景,支持断点续传。

5.1 上传同步(本地 → 实例) ​

bash
# 带密钥连接
rsync -avz --progress \
  -e "ssh -i ~/.ssh/my-key.pem -p 44322 -o StrictHostKeyChecking=no -l 用户名::实例ID" \
  本地路径/ \
  连接地址:目标实例路径

# 示例:同步本地代码到 N96P 集群实例
rsync -avz --progress \
  -e "ssh -i ~/.ssh/my-key.pem -p 44322 -o StrictHostKeyChecking=no -l test::1234843344324603905" \
  /root/test/ \
  agent-n96p.yeesuan.com:/n96pfs/home/ysn96pc1234/test/

5.2 下载同步(实例 → 本地) ​

bash
# 仅密码连接
rsync -avz --progress \
  -e "ssh -p 44322 -o StrictHostKeyChecking=no -l 用户名::实例ID" \
  连接地址:远程路径/ \
  本地路径/

# 带密钥连接
rsync -avz --progress \
  -e "ssh -i ~/.ssh/my-key.pem -p 44322 -o StrictHostKeyChecking=no -l 用户名::实例ID" \
  连接地址:远程路径/ \
  本地路径/

# 示例:从 N96P 集群实例下载数据
rsync -avz --progress \
  -e "ssh -i ~/.ssh/my-key.pem -p 44322 -o StrictHostKeyChecking=no -l test::1234843344324603905" \
  agent-n96p.yeesuan.com:/n96pfs/home/ysn96pc1234/test/ \
  /root/test/

5.3 常用 RSYNC 参数 ​

参数说明
-a归档模式,保留权限、时间等属性
-v显示详细传输信息
-z压缩传输
--progress显示传输进度
-P显示进度 + 支持断点续传
--delete删除目标端多余文件,保持完全一致
--exclude='*.log'排除特定文件
--max-size=100M限制最大文件大小
--bwlimit=10M限速传输

5.4 断点续传 ​

bash
# 带密钥 + 断点续传
rsync -avzP \
  -e "ssh -i ~/.ssh/my-key.pem -p 44322 -o StrictHostKeyChecking=no -l 用户名::实例ID" \
  本地路径/ \
  连接地址:远程路径/

六、命令速查表 ​

场景命令
SSH 菜单模式ssh 用户名@ssh.yeesuan.com -p 44322
SSH 菜单模式(密钥)ssh -i key.pem -p 44322 用户名@ssh.yeesuan.com
SSH 直达模式ssh -p 44322 用户名::实例名@ssh.yeesuan.com
SSH 直达模式(密钥)ssh -i key.pem -p 44322 用户名::实例名@ssh.yeesuan.com
SFTP 连接sftp -P 44322 用户名::实例名@ssh.yeesuan.com
SFTP 连接(密钥)sftp -i key.pem -P 44322 用户名::实例名@ssh.yeesuan.com
SCP 下载scp -P 44322 -o "User=用户名::实例ID" "地址:/path" ./
SCP 下载(密钥)scp -i key.pem -P 44322 -o "User=用户名::实例ID" "地址:/path" ./
SCP 上传scp -P 44322 -o "User=用户名::实例ID" ./file "地址:/path/"
SCP 上传(密钥)scp -i key.pem -P 44322 -o "User=用户名::实例ID" ./file "地址:/path/"
RSYNC 上传rsync -avz --progress -e "ssh -p 44322 -l 用户名::实例ID" ./path/ 地址:/path/
RSYNC 上传(密钥)rsync -avz --progress -e "ssh -i key.pem -p 44322 -l 用户名::实例ID" ./path/ 地址:/path/
RSYNC 下载rsync -avz --progress -e "ssh -p 44322 -l 用户名::实例ID" 地址:/path/ ./path/
RSYNC 下载(密钥)rsync -avz --progress -e "ssh -i key.pem -p 44322 -l 用户名::实例ID" 地址:/path/ ./path/
RSYNC 断点续传加 -P 参数
VSCode SSH-LiteHostname: ssh.yeesuan.com, Port: 44322, Username: 账号::实例名

地址速查 ​

账号前缀连接地址
ysn96pagent-n96p.yeesuan.com
ysn83qagent-n83q.yeesuan.com
其他ssh.yeesuan.com