工作流模板 · 小白
整理 OpenCode 常用 sshpass、OpenSSH、PuTTY/plink、WinSCP、MobaXterm、Termius、Tabby、XPipe 等 SSH 工具的适用场景,并说明怎么安全接入 OpenWrt / iStoreOS 排错。
OpenCode 用 `sshpass` 可以解决密码输入卡住的问题,但长期最好换 SSH Key;真人排错再配 PuTTY、WinSCP、MobaXterm 这类图形工具。
# macOS:安装 sshpass 的常见方式之一
brew tap hudochenkov/sshpass
brew install hudochenkov/sshpass/sshpass
sshpass -V# OpenCode 用 sshpass 过渡登录:密码只放环境变量
export OPENWRT_HOST=openwrt-router
export OPENWRT_USE_SSHPASS=1
export SSHPASS='你的路由器密码'
openwrt-ssh ping
openwrt-ssh status
openwrt-ssh plugin-status
unset SSHPASS OPENWRT_USE_SSHPASS# Windows PowerShell:如果已安装 sshpass.exe 并在 PATH 中
$env:OPENWRT_HOST = "openwrt-router"
$env:OPENWRT_USE_SSHPASS = "1"
$env:SSHPASS = "你的路由器密码"
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\bin\openwrt-ssh.ps1" ping
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\bin\openwrt-ssh.ps1" status
Remove-Item Env:\SSHPASS
Remove-Item Env:\OPENWRT_USE_SSHPASS# 长期方案:改成 SSH Key
ssh-keygen -t ed25519 -C "opencode-openwrt" -f ~/.ssh/openwrt_opencode
cat ~/.ssh/openwrt_opencode.pub | ssh root@192.168.1.1 "mkdir -p /etc/dropbear && cat >> /etc/dropbear/authorized_keys && chmod 600 /etc/dropbear/authorized_keys"
cat >> ~/.ssh/config <<'EOF'
Host openwrt-router
HostName 192.168.1.1
User root
IdentityFile ~/.ssh/openwrt_opencode
IdentitiesOnly yes
StrictHostKeyChecking accept-new
EOF
openwrt-ssh ping这段可以直接复制给 OpenCode,让它知道当前 SSH 方案和边界。
你不要直接打开交互式 ssh。当前如果需要密码登录,只能使用 sshpass 环境变量模式:OPENWRT_USE_SSHPASS=1 和 SSHPASS。不要使用 sshpass -p,不要输出密码,不要把密码写入文件。优先调用 openwrt-ssh ping、status、network、dns、plugin-status、subscriptions、plugin-logs。除 backup 和我明确授权的 plugin-repair 外,不要执行修改命令。网络运维 Agent 的第一原则是先备份、先只读检查、一次只改一个变量,别让小问题变成全网断线。
订阅转换先确认目标格式,插件维修先备份再查日志;不要把完整订阅链接、UUID、密码和 Token 交给 Agent。
Codex Computer Use 是 Windows Codex App 的桌面操作能力;写代码仍靠 App / CLI,Linux 项目仍建议放 WSL2。
提交时把现象、操作步骤、完整日志、脱敏后的 .env 发到 zhemuy@gmail.com,比一句跑不起来更好定位。
可以把截图、日志、需求单或当前页面链接发到 zhemuy@gmail.com。