2
0
0
Codex 通过 SSH 连接国内服务器
文章摘要
|
连接后,可以在 Codex 桌面端与远程 Codex CLI 对话、查看服务器文件,并打开远程终端。
1. 准备代理连接
如果服务器已有可用代理,直接使用服务器上的代理地址。如果没有,可以通过 SSH 反向端口转发,让服务器使用本地电脑上的代理。
假设本地 HTTP 代理监听 127.0.0.1:10808,在本地终端执行:
ssh -o ExitOnForwardFailure=yes -R 10808:127.0.0.1:10808 用户名@服务器地址连接成功后,服务器访问 127.0.0.1:10808,就会通过 SSH 隧道转发到本地代理。使用期间需要保持这条 SSH 连接开启。
在远程终端中设置代理:
export HTTP_PROXY="http://127.0.0.1:10808"
export HTTPS_PROXY="$HTTP_PROXY"
export http_proxy="$HTTP_PROXY"
export https_proxy="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1,::1"
export no_proxy="$NO_PROXY"这里的端口必须对应本地代理的 HTTP 或混合代理端口。
2. 安装 Codex CLI 并登录
在服务器上执行:
curl -fsSL https://chatgpt.com/codex/install.sh | sh安装完成后,执行:
codex login按照终端提示完成登录。
3. 创建带代理的启动脚本
SSH 启动的远程进程不一定会继承终端中的代理变量。可以创建一个启动脚本,让 Codex CLI 每次启动时自动设置代理。
先找到当前 Codex 的真实路径:
readlink -f "$(command -v codex)"输出示例:
/home/xxxx/.codex/packages/standalone/releases/0.154.0-x86_64-unknown-linux-musl/bin/codex直接修改安装目录的codex可执行文件,重命名codex, 并编辑脚本:
mv /home/xxxx/.codex/packages/standalone/releases/0.154.0-x86_64-unknown-linux-musl/bin/codex /home/xxxx/.codex/packages/standalone/releases/0.154.0-x86_64-unknown-linux-musl/bin/codex_src
vim /home/xxxx/.codex/packages/standalone/releases/0.154.0-x86_64-unknown-linux-musl/bin/codex 写入以下内容,并将最后一行的路径替换为上一步查到的真实路径:
#!/bin/bash
export HTTP_PROXY="http://127.0.0.1:10808"
export HTTPS_PROXY="$HTTP_PROXY"
export http_proxy="$HTTP_PROXY"
export https_proxy="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1,::1"
export no_proxy="$NO_PROXY"
exec /home/xxxx/.codex/packages/standalone/releases/0.154.0-x86_64-unknown-linux-musl/bin/codex_src "$@"如果使用服务器自己的代理,修改脚本中的代理地址即可。
保存后,赋予执行权限:
chmod +x /home/xxxx/.codex/packages/standalone/releases/0.154.0-x86_64-unknown-linux-musl/bin/codex 升级 Codex CLI 后,如果真实路径发生变化,需要同步更新对应目录内的脚本。
4. 在 Codex 桌面端添加 SSH 连接
进入: 设置 → 连接 → SSH → 添加
选择对应服务器连接完成后,即可在桌面端与远程 Codex 对话、查看服务器文件并打开远程终端。