其他

关注公众号 jb51net

关闭
AI > 其他 >

Codex 远程服务器登陆的实现步骤

雨眠.

目标

实现:

核心思路:
通过 SSH RemoteForward 将服务器的网络请求转发到本地代理端口,让服务器“借用”本机梯子出网。

环境说明

本机

远程服务器

原理说明

服务器无法直接访问 OpenAI 相关域名,导致 Codex 登录失败,而本机代理可以正常访问外网。通过 SSH 反向端口转发的流程如下:

服务器访问 127.0.0.1:17897
↓ SSH 隧道
Mac 访问 127.0.0.1:7897(本地代理)

外网

即:服务器通过 SSH 隧道,将流量转回本地代理端口。

Step 1:确认本地代理端口可用

在 Mac 终端执行:

nc -vz 127.0.0.1 7897

必须看到类似以下输出,否则说明代理未启动或端口错误:

Connection to 127.0.0.1 port 7897 [tcp/*] succeeded!

Step 2:建立 SSH RemoteForward 隧道

在 Mac 执行(请替换 USERSERVER_IP):

ssh -N -R 17897:127.0.0.1:7897 USER@SERVER_IP

示例:

ssh -N -R 17897:127.0.0.1:7897 ubuntu@1.2.3.4

说明:

Step 3:服务器端验证隧道

另开一个终端登录服务器:

ssh USER@SERVER_IP

在服务器执行:

nc -vz 127.0.0.1 17897

若显示以下内容,说明转发成功:

Connection succeeded!

Step 4:验证服务器是否可通过代理访问外网

在服务器执行:

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

若返回类似以下状态码,说明服务器已经可以借用本地代理访问外网:

HTTP/2 200

Step 5:让 Codex 走代理登录

在服务器终端执行临时代理配置:

export http_proxy="[http://127.0.0.1:17897](http://127.0.0.1:17897)"
export https_proxy="[http://127.0.0.1:17897](http://127.0.0.1:17897)"

然后登录 Codex:

codex sign

后续即可正常进行对话:

codex chat

长期使用方案(推荐 proxy_on / proxy_off)

不建议在服务器端配置永久全局代理,否则一旦 SSH 隧道断开,系统网络会全部卡住。推荐使用快捷命令按需开启。

在服务器编辑 ~/.bashrc

nano ~/.bashrc

在文件末尾添加:

proxy_on() {
  export http_proxy="[http://127.0.0.1:17897](http://127.0.0.1:17897)"
  export https_proxy="[http://127.0.0.1:17897](http://127.0.0.1:17897)"
  echo "Proxy enabled"
}

proxy_off() {
  unset http_proxy https_proxy
  echo "Proxy disabled"
}

使其生效:

source ~/.bashrc

使用方式:

proxy_on      # 开启代理
codex chat    # 愉快使用
proxy_off     # 用完关闭代理

Mac 端一键脚本(推荐)

为了避免每次都手动输长长的 SSH 命令,可以在 Mac 端配置自动化脚本。

1. 配置 SSH 免密登录

ssh-copy-id -i ~/.ssh/id_ed25519.pub USER@SERVER_IP

验证是否成功:

ssh USER@SERVER_IP "echo OK"

2. 开启隧道脚本

创建存放脚本的目录及文件:

mkdir -p ~/bin
nano ~/bin/codex-tunnel-on

写入以下内容(注意替换 USER@SERVER_IP):

#!/usr/bin/env bash

nohup ssh -N \
  -o ExitOnForwardFailure=yes \
  -o ServerAliveInterval=30 \
  -R 17897:127.0.0.1:7897 \
  USER@SERVER_IP \
  >/dev/null 2>&1 &

echo "Codex tunnel started"

赋予执行权限:

chmod +x ~/bin/codex-tunnel-on

3. 关闭隧道脚本

创建文件:

nano ~/bin/codex-tunnel-off

写入以下内容:

#!/usr/bin/env bash
pkill -f "ssh.*17897:127.0.0.1:7897"
echo "Codex tunnel stopped"

赋予执行权限:

chmod +x ~/bin/codex-tunnel-off

日常使用流程

🟢 开始工作:

  1. Mac 端运行隧道脚本:
    codex-tunnel-on
    
  2. 服务器端开启代理并使用:
    proxy_on
    codex chat
    

🔴 结束工作:

  1. 服务器端关闭代理:
    proxy_off
    
  2. Mac 端关闭隧道:
    codex-tunnel-off
    

注意事项

到此这篇关于Codex 远程服务器登陆的实现步骤的文章就介绍到这了,更多相关Codex 远程服务器登陆内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!