阿里云 ECS 上给 dsh-remote 备一台可连接的远端

简介: 本文详解如何在阿里云ECS上配置dsh-remote远端环境,涵盖实例选型(推荐2核4G)、安全组设置、Node≥20.12版本要求、非root账号与私钥权限规范、PATH问题规避等五大关键卡点,并提供可落地的体检与部署流程,助你快速搭建安全可控的DSH远程工作区。(239字)

阿里云 ECS 上给 dsh-remote 备一台可连接的远端

dsh-remote 把远端目录变成 DSH 工作区,但它的前置条件全在远端:能 SSH、node 够新、dsh 能起。这篇按 ECS 的实际操作顺序写,从安全组到私钥,把五个最常见的卡点写清。

一、实例与系统:够用就行,但别选最小规格

这个插件不要求 GPU,也不吃大内存,但它会在远端跑 dsh、跑构建、跑同步。实际经验是:1 核 2G 的突发性能实例能装能连,但一跑 npm ci 就开始卡,同步大目录时更明显。2 核 4G 是更实际的下限。

系统选常见发行版即可。需要注意两件与插件直接相关的事:

  1. node 版本必须 ≥ 20.12。dsh 启动要用 node:util 的 parseEnv,这个导出从 20.12 起才有。
  2. 不要用 dsh 0.1.0-rc.6。它依赖的 node-pty@1.1.0 没带 linux-x64 预编译产物,会报 Failed to load native module: pty.node,dsh web 在 Linux 上根本起不来。要 0.1.5-rc.2 及以上。

第二条是 Linux 专属坑,很多人在 macOS 上试通了,搬到 ECS 才发现起不来。

二、安全组:只放行你真正需要的

默认只需要放行 22。如果你把 SSH 端口改成了别的(比如 2222),安全组必须跟着改——这是坑二的常见形态。

不需要为「远程 DSH 界面」额外开放任何端口:插件是本地主动连出去,远端那个 dsh web 只监听 127.0.0.1,端口经 SSH 隧道搬回本机。

不建议把 22 开放给 0.0.0.0/0。至少限定到你的出口 IP 段;有堡垒机的走堡垒机。

三、账号与私钥:别直接给 root

建一个普通账号,只授予必要目录的权限:

useradd -m -s /bin/bash dev
mkdir -p /srv/app && chown -R dev:dev /srv/app

然后在本地生成一对专用密钥,公钥写进 ~dev/.ssh/authorized_keys,私钥留在本机并收紧权限:

chmod 600 ~/.ssh/id_ed25519_dsh_remote

插件配置里用 privateKeyPath 指向它。私钥如果带 passphrase,插件里对应的 passphrase 也要填。

为什么不用 root:插件有 rw_exec 与 rw_remove,一旦模型误判,代价按你给的权限算。README 的安全提醒原话是「把凭据交给插件等于允许 Agent 以你的用户身份在该主机执行 shell 命令」——这句话在 ECS 上尤其要当真。

四、体检与部署:先只读,再动手

连接配好后,第一件事是点「远端 dsh 体检与部署」的体检。它只读,会报:平台、node / npm / dsh 版本、原生模块能否启动、是否认识 --no-open、代理与 npm 源。

判读很简单:

  • node < 20.12 → 先升 node;
  • 原生模块起不来 → 大概率是 node-pty 的预编译缺失,升 dsh;
  • npm 源慢 → 体检会报当前源,换个近的。

只有体检判定「需要且可以自动装」,才会出现部署按钮。它装到 ~/.dsh-remote/dsh(webInstallPrefix 可改),不写系统目录、不改 PATH、不覆盖你在用的版本。删目录即回滚——这点在云上很重要,因为你随时可以把实例释放掉重来。

五、五个真实卡点

坑一 · ECS 的 Node 版本没到 20.12

现象。 连接成功、插件也装上了,但远端 dsh web 起不来,日志里是 does not provide an export named 'parseEnv'。

原因。 dsh 启动要用 node:util 的 parseEnv,该导出从 node 20.12 才有。npm 安装时只给 EBADENGINE 警告,不会拦住。

解决。 用 nvm 或系统包升到 20.12+,再重跑体检。体检会直接把它标成 blocker。

坑二 · 安全组只放行了 22 却改了端口

现象。 本地 ssh 也连不上,插件报连接超时,但实例是运行中的。

原因。 port 改成非 22 之后,安全组入方向仍只放行 22。

解决。 安全组加一条对应端口的规则,源地址限定到你的 IP。改完先用本地 ssh -p <port> 验证,再回插件里试。

坑三 · 远端 dsh 不在登录 PATH

现象。 体检说 dsh 已安装,但「远程 DSH 界面」一直拿不到启动令牌。

原因。 非交互式 SSH 会话的 PATH 与登录 shell 不同,dsh 可能装在 nvm 或私有前缀里,插件按 webAttachCommand(默认就是 dsh)找不到。

解决。 在机器卡片的「高级 → 远端 dsh 命令」填绝对路径,例如 ~/.nvm/versions/node/v22.19.0/bin/node ~/.dsh-remote/dsh/node_modules/@deepseek-ai/dsh/lib/bin.js。机器级配置优先于全局。

坑四 · 私钥权限过宽被拒

现象。 认证失败,但用户名和公钥都对。

原因。 OpenSSH 系对私钥权限敏感,644 会直接被拒。

解决。 chmod 600。用 useAgent(SSH_AUTH_SOCK)也能绕开文件权限问题,但要把 key 提前加进 agent。

坑五 · 直接给 root 账号

现象。 一开始很顺,直到某次 Agent 执行了一条 rw_remove 或带 sudo 语义的命令。

原因。 插件的能力是按「你给的账号权限」生效的,root 意味着没有护栏。

解决。 换普通账号、限定目录、开 auditLog(默认就是 true),并把 hostKeyMode 从 accept-new 改成 verify。

六、跑通的最小验收

  1. rw_connect 成功,rw_info 能看到远端上下文;
  2. rw_list_dir("/srv/app") 有内容;
  3. rw_sync 异步任务完成,本地镜像能看到文件;
  4. rw_exec("node -v") 返回 ≥ v20.12;
  5. 可选:远程界面能打开,且远端没有新增监听端口。

五步全过,这台 ECS 才算「可连接的远端」。

总结

ECS 侧的失败几乎都落在「node 版本、安全组、PATH、私钥权限、账号权限」这五处,而且都能在体检里提前看到。

适合与不适合

适合:准备在阿里云上长期放一台开发机的人;已经买好 ECS 但连不上的人;需要给团队一份标准化开通流程的人。

不适合:只想临时跑一条命令的人(用 ECS 控制台的远程连接更省);不愿意管密钥与安全组的人;需要 GPU 任务的人。

标签:dsh-remote、DeepSeek Harness、阿里云、ECS、SSH

本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。

目录
相关文章
|
29天前
|
弹性计算 人工智能 运维
阿里云 ECS 从零部署 DSH 并装上 dsh-agency-agents 专家库
本文详解在阿里云ECS上部署社区版DSH专家库(dsh-agency-agents)的完整流程,涵盖镜像选择、安全组配置、Node版本要求、SSH隧道访问及四大典型安装坑(如插件未注册、配置未生效、依赖误判、PowerShell乱码),强调非官方支持属性与云上最佳实践。(239字)
261 2
VSCode 如何设置背景图片
VSCode 如何设置背景图片
4376 1
|
设计模式 负载均衡 Nacos
远程调用 OpenFeign 底层原理解析
Feign 是Springcloud 提供一个声明式的伪Http客户端 它使得调用远程服务就像调用本地服务一样简单 只需要创建一个接口 并且添加注解就可以 Nacos 很好的兼容Feign Feign 默认集成了Ribbon 所以在Nacos 下使用Fegin 默认就实现了负载均衡的效果
2637 1
远程调用 OpenFeign 底层原理解析
|
25天前
|
弹性计算 运维 安全
阿里云 ECS 上跑 dsh web,Bridge 的包管理器版本要盯紧
本文详解阿里云ECS部署dsh web插件的四大避坑要点:严控安全组与磁盘余量;精准识别宿主实际调用的pnpm版本(须≥11.26.0);按宿主版本判断是否重启;换版前务必处理完内存中未确认的预览编辑。强调环境收束优先于安装。(239字)
144 1
|
28天前
|
Shell Linux API
DeepSeek Harness 智能体对接百炼平台:按量 / Coding Plan/Token Plan 多计费方案配置实战指南
DeepSeek Harness通过自定义Provider能力,可以无缝对接百炼平台的四种计费体系,既可以本地PC通过npx快速运行,也可以借助计算巢一键部署到云服务器。接入的关键点:区分四种模式不同的Provider ID、Base URL、API Key类型;不要使用Fetch available models按钮,手动填写模型ID;密钥优先使用环境变量注入,避免明文存放在yaml配置文件。
526 1
|
1月前
|
弹性计算 运维 安全
ECS 上部署 DSH 桌宠的规格、出网与权限实践
本文为DSH桌宠云上部署最佳实践指南:余额功能可选且仅覆盖三家,配置权限严格收口本机(/dsh-pet-7340无鉴权),对话记忆与配置统一落盘于$DSH_HOME/dsh-pet/,备份迁移只需该目录。强调安全组不开放、凭据走DSH机制、素材禁商用。(239字)
220 1
|
11天前
|
人工智能 弹性计算 应用服务中间件
阿里云计算巢 DeepSeek Harness 下载、部署、配置一篇搞定(最新整理,附常用插件推荐)
整体来看,在阿里云计算巢部署DeepSeek Harness,兼顾了上手门槛和扩展性,一键模板适合快速体验,源码部署适合二次开发、自定义插件。搭配百炼Token Plan,再装上web-ui、记忆、定时任务这些热门插件,就能快速搭建一套功能完整的AI编码工作台,用来写代码、排查bug、自动执行脚本、管理项目,是当下非常热门的Agent开发方案。整套流程上手之后,大家还可以自行开发自定义插件,拓展RAG、数据处理等更多能力,打造贴合自己工作流的智能助手。
320 0
|
1月前
|
存储 弹性计算 缓存
在阿里云 ECS 部署 dsh-knowledge 的版本、许可与磁盘准备
本文详解在阿里云ECS上部署DeepSeek Harness知识库插件(dsh-knowledge v0.4.1)的实战要点,聚焦四大关键坑:Node.js版本门槛(≥22.19)、pnpm构建许可配置、模型磁盘落点规划、批量导入上限(20文件/22MB),附安全组收紧与真实安装验证。
249 1
|
25天前
|
弹性计算 安全 Go
把交接审批做成流程,Bridge 在小团队里怎么用
本文介绍小团队如何用 Bridge 将交接审批标准化:以“换 preset 即需审批”为核心,通过五段模板(Goal/Current state/Key decisions/Key files/Next step)、人工确认、`--continue` 智能选型、plan-review 直接启用等机制,确保交接可追溯、零信息丢失。强调流程重于操作,适用于多人共用 ECS、有评审习惯的团队。(239字)
60 0
|
1月前
|
人工智能 应用服务中间件 网络安全
在云服务器上部署 Deepseek Harness 全流程(公网鉴权访问)
DeepSeek Harness(dsh)是 DeepSeek AI 开源的 Agent Harness,采用“一切皆插件”的架构。本文目标:在一台云服务器或内网机器上部署 DeepSeek Harness Web UI,并通过 Nginx 或 Caddy 反向代理 + Basic Auth,实现域名或纯 IP 访问;HTTPS 按测试条件可选。
1381 0