服务器反向代理+vscode+ssh+服务器登陆codex cli


在写代码时,想要最大程度发挥智能体的作用,最好的方案就是cli,把模型调用的场景嵌入到终端里,对于多文件调用方便许多,但是对于如何配置codex cli对小白来说还是很麻烦,网络上有许多win、mac、linux、wsl配置codex cli的方法,但大都建立在本地有梯子的前提下,如果是在远端服务器上,服务器上又很难搭梯子,该如何做呢?这篇文章就帮助你在使用vscode远程ssh的时候,配置codex cli到远程服务器上(需要有gpt的plus账号和本机的clash)。

我比较推荐为gpt付费,一个月20刀乐,可以同时使用本体功能和codex,相比于CC经常性封号和价格,codex亲民许多,额度基本用不完。

首先,假设你的服务器ip是:111:22:33:444 ,username是lina,先在本机上验证能否成功ssh:

ssh lina@111:22:33:444

确保正确输入密码后能够进入终端

然后打开vscode,按住ctrl+shift+p,输入remotessh,点击打开SSH配置文件,直接选择第一个

image-20260125144834115 image-20260125144855202

在这个文件下添加如下信息(这里的111:22:33:444和lina填写你自己的,如果提示文件只可读,那你就按照目录的位置去找并手动修改):

Host 111:22:33:444
    HostName 111:22:33:444
    User lina
    RemoteForward 127.0.0.1:7891 127.0.0.1:7890
image-20260125145110119

配置好后,点击左侧的远程资源管理器,能够看到你刚才配置的服务器信息,然后登录。

image-20260125151046427

这里的RemoteForward 127.0.0.1:7891 127.0.0.1:7890 的意思是,在服务器上经过7891端口的服务都会转到你本机的7890端口上,所以后面我们需要配置两个东西,一个是服务器上的网络请求都发给7891,第二个是本机需要确定代理在7890端口。

首先是第一件事,打开服务器终端,一行一行复制粘贴进去:

echo 'export http_proxy="http://127.0.0.1:7891"' >> ~/.bashrc
echo 'export https_proxy="http://127.0.0.1:7891"' >> ~/.bashrc
echo 'export HTTP_PROXY="$http_proxy"' >> ~/.bashrc
echo 'export HTTPS_PROXY="$https_proxy"' >> ~/.bashrc
source ~/.bashrc

第二件事,打开clash,确保端口是7890:

image-20260125145642738

然后重启服务器,再进入终端,逐行运行以下命令(如果失败就问问AI,这部分我的朋友出现过问题,但都属于AI能解决的范围):

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm install --lts
npm i -g @openai/codex

接下来比较关键,很多人在这一步直接在终端运行codex,然后进入浏览器登录,登录后报错:

a641f0e6d9601ce9298c5e486bb12dd0

原因就不赘述了,因为我也不懂,反正就是在本机上登录,他没法给你跳转回远程服务器。

解决的方法很简单,就是需要你本地的机器上安装并登录codex!很蠢但是有效,然后在本地机器上就会有这个东西:

C:\Users<你的用户名>.codex\auth.json

image-20260125150425429

在服务器终端上执行(在用户名下创建一个名为codex的文件夹):

mkdir -p ~/.codex

然后把你的auth.json这个文件复制粘贴到codex文件夹下(其他的文件不用管)

image-20260125150607851

再到终端中执行codex,成功。

image-20260125150723861

文章作者: ycx
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ycx !
评论
  目录