云计算百科
云计算领域专业知识百科平台

服务器上使用Codex

1. 原理

通过 SSH 反向隧道,把服务器上的代理请求转发到本机,再由本机的代理访问外网。因此前提是:本机已经能够正常访问 Codex / ChatGPT 相关服务,并且本机代理端口可用。

端口对应关系:

  • 本机代理端口:127.0.0.1:7890
  • 服务器上的转发入口:127.0.0.1:7891

服务器访问 127.0.0.1:7891 时,请求会通过 SSH 隧道转发到本机的 127.0.0.1:7890。本机 7890 端口取决于你的代理端口,服务器 7891 端口被占用可以更换为其他端口,请根据实际情况修改。

2. 步骤

2.1 确认本机代理可用

在本机运行:

curl -x http://127.0.0.1:7890 -I https://www.google.com

如果能返回 HTTP 响应头,说明本机代理端口可用。

2.2 配置反向隧道

在本机 SSH 配置文件中加入:

  • macOS / Linux:~/.ssh/config
  • Windows:C:\\Users\\你的用户名\\.ssh\\config

Host myserver
HostName server_ip
User username
RemoteForward 127.0.0.1:7891 127.0.0.1:7890

如果不想配置 SSH 别名,也可以跳过本节,在下一步直接使用完整命令启动隧道。

2.3 开启并验证反向隧道

2.3.1 本机启动隧道

推荐使用 SSH 配置中的 myserver 启动:

ssh -N myserver

也可以不使用 SSH 配置,直接写完整命令:

ssh -N -R 127.0.0.1:7891:127.0.0.1:7890 username@server_ip

这个命令所在的 SSH 连接必须保持运行。关闭终端后,服务器上的 7891 监听会消失。

2.3.2 服务器验证隧道

在服务器上运行:

ss -lntp | grep 7891

若命令有输出,说明服务器上的 7891 已经开始监听,反向隧道建立成功。

2.4 服务器上安装 Codex

npm i -g @openai/codex

2.5 服务器上配置代理环境变量

export http_proxy=http://127.0.0.1:7891
export https_proxy=http://127.0.0.1:7891

注意:export 只对当前终端生效。若需要永久生效,可以写入服务器上的 ~/.bashrc、~/.zshrc 等 shell 配置文件。

2.6 服务器上验证代理

在服务器上运行:

curl -x http://127.0.0.1:7891 -I https://www.google.com

如果能返回 HTTP 响应头,说明代理链路基本可用。

3. 使用

服务器终端输入:

codex

如果能够正常进入 Codex CLI 交互界面,且没有网络连接报错,则说明配置成功。

4. 常见问题

4.1 服务器上看不到 7891 监听

在服务器上运行:

ss -lntp | grep 7891

如果没有输出,通常说明 SSH 隧道没有建立或已经断开。请回到本机,重新运行:

ssh -N myserver

或者:

ssh -N -R 127.0.0.1:7891:127.0.0.1:7890 username@server_ip

4.2 关闭终端后代理失效

这是正常现象。反向隧道依赖 SSH 连接存活。SSH 连接断开后,服务器上的 7891 监听会消失。

如果希望后台运行,可以使用:

ssh -fN myserver

如果希望自动断线重连,可以考虑使用 autossh:

autossh -M 0 -fN myserver

4.3 服务器禁止反向转发

如果 SSH 报错显示远程转发失败,需要检查服务器的 /etc/ssh/sshd_config 是否允许 TCP 转发:

AllowTcpForwarding yes

修改后需要在服务器上重载 SSH 服务:

sudo systemctl reload sshd

或:

sudo systemctl reload ssh

4.4 其他问题

直接问 AI。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 服务器上使用Codex
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!