Appearance
易算直连使用手册
概述
易算直连是易算平台内置的 SSH 跳板服务,提供统一的 SSH 入口访问集群内的计算资源实例。支持 SSH 终端、SFTP 文件传输、SCP 文件拷贝、RSYNC 同步 等协议,并支持 公钥+密码双因素认证 保障安全。
支持资源类型
- 6966P
- 8368Q
- 6258R
- 7H12
- 云主机
一、连接地址
根据您的账号类型,选择对应的连接地址,端口统一为 44322:
| 账号类型 | 连接地址 | 端口 |
|---|---|---|
| ysn96p 开头账号 | agent-n96p.yeesuan.com | 44322 |
| ysn83q 开头账号 | agent-n83q.yeesuan.com | 44322 |
| 其他账号 | ssh.yeesuan.com | 44322 |
说明:
用户名::实例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.com2.2 使用 Xshell
- 打开 Xshell → 新建会话
- 填写连接信息:
- 主机:
ssh.yeesuan.com(或对应集群地址) - 端口:
44322
- 主机:
- 配置用户名和密码
- 如需密钥认证:左侧菜单 → 用户身份验证 → 方法选择 Public Key → 选择私钥文件
- 点击连接
- 弹窗输入密码
2.3 使用 PuTTY
- 打开 PuTTY
- 填写 Host Name:
ssh.yeesuan.com(或对应集群地址) - Port:
44322 - Connection type:SSH
- 如需密钥认证:左侧菜单 → Connection → SSH → Auth → Credentials → 选择私钥文件(.ppk 格式)
- 点击 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 插件(推荐)
- 在 VSCode 扩展商店搜索安装 SSH-Lite 插件
- 点击 SSH HOST 右侧的 + 加号,新建会话
- 输入连接信息:
yaml
# 带密钥连接
MyServer: 主机名称(自定义,如 "开发节点A")
Hostname: 连接地址(如 agent-n96p.yeesuan.com)
Port: 44322
Username: 平台账号::实例ID(如 zhangsan::1916401158516867074)
Private key: C:\Users\xxx\.ssh\my-key.pem(私钥文件路径)- 点击左侧连接,输入平台账号密码即可登录
- 连接成功后,可以进行文件编辑和终端命令交互
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 连接实例
按
F1(或Ctrl + Shift + P)→ 输入Remote-SSH: Connect to Host...→ 选择上一步配置的Host;也可以在左侧活动栏打开 Remote Explorer,在SSH列表中找到目标主机,点击右侧箭头连接。首次连接会提示输入平台账号密码。
左下角显示
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>/stableCOMMIT_ID:VSCode 客户端 Help → About 中Commit行后的值ARCH:目标集群架构,在实例中输入uname -m查看
uname -m 输出 | 架构类型 | 下载包中的 arch 字段 |
|---|---|---|
| x86_64 | 64位 Intel/AMD | x64 |
| aarch64 | 64位 ARM | arm64 |
| armv7l | 32位 ARM | armhf |
示例(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-Lite | Hostname: ssh.yeesuan.com, Port: 44322, Username: 账号::实例名 |
地址速查
| 账号前缀 | 连接地址 |
|---|---|
| ysn96p | agent-n96p.yeesuan.com |
| ysn83q | agent-n83q.yeesuan.com |
| 其他 | ssh.yeesuan.com |