Mac 上通过 Codex 远程连接 Ubuntu

配置完成之后,可以直接在 Mac 的 Codex 中操作 Ubuntu 里的终端、项目代码和开发环境。

实际配置过程。


1. Ubuntu 安装并开启 SSH

在 Ubuntu 终端执行:

sudo apt update
sudo apt install openssh-server

启动 SSH:

sudo systemctl enable ssh
sudo systemctl start ssh

查看 SSH 状态:

sudo systemctl status ssh

如果显示:

active (running)

说明 SSH 服务已经正常启动。


2. 查看 Ubuntu 用户名和 IP

查看用户名:

whoami

查看 IP:

hostname -I

例如:

用户名:111
IP:111.11.11.11

3. 在 Mac 测试 SSH 连接

Mac 打开终端,输入:

ssh 111@111.11.11.11

第一次连接可能会询问是否继续连接,输入:

yes

然后按照提示完成身份验证。

如果可以成功进入 Ubuntu 终端,说明:

Mac → SSH → Ubuntu

这一层连接已经打通。


4. 在 Mac 配置 SSH 免密登录

在 Mac 终端执行:

ssh-keygen -t ed25519

一路按 Enter 即可。

默认会生成:

~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub

其中:

id_ed25519是私钥,不要泄露。
id_ed25519.pub是公钥,可以放到 Ubuntu 上。

打开 Mac 终端:

nano ~/.ssh/config

我的配置类似:

Host ubuntu-pc
    HostName 111.11.11.11
    User 111
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes

这里几个参数分别表示:

Host ubuntu-pc   给 Ubuntu 设置一个连接别名。
HostName 111.11.11.11 Ubuntu 电脑的 IP 地址。
User 111  Ubuntu 登录用户名。
IdentityFile ~/.ssh/id_ed25519  指定 Mac 使用的 SSH 私钥文件。
IdentitiesOnly yes   让 SSH 优先只使用上面指定的这个密钥进行身份认证。

所以配置完成之后,我就可以直接使用:

ssh ubuntu-pc

来连接 Ubuntu, 也可以写完整的:

ssh 111@111.11.11.11

如果可以正常进入 Ubuntu,说明 SSH 配置没有问题。

实际配置过程:

Mac 上已有/生成 SSH 密钥
        ↓
Mac 的 ~/.ssh/config 指定私钥
        ↓
配置 ubuntu-pc SSH 主机
        ↓
Mac 测试 SSH 连接
        ↓
Codex 读取 SSH 主机配置

不用不是单独在 Ubuntu 端手动配置密钥文件。


5. 在 Codex App 中添加 Ubuntu

打开 Codex App,进入 SSH 连接设置。

添加:

ubuntu-pc

这里的 ubuntu-pc 就是刚刚在:

~/.ssh/config

里面配置的:

Host ubuntu-pc

Codex 官方目前支持基于 SSH 的远程连接,并可以读取 ~/.ssh/config 中定义的 SSH Host 别名来添加远程主机。(OpenAI开发者)

可以先在 Mac 测试:

ssh ubuntu-pc

或者:

ssh 111@111.11.11.11

Mac 终端 SSH 能正常连接后,再配置 Codex 会比较顺利。


6. 在 Codex 中验证连接

添加 Ubuntu SSH 主机后,可以让 Codex执行:

在远程环境 ssh 111@111.11.11.11 中执行:
whoami

这里最终应返回:

111

说明:

Codex
  ↓
SSH
  ↓
Ubuntu

已经真正连接成功。

还可以继续测试:

pwd
hostname
ls -lah

查看远程 Ubuntu 当前目录、主机名和文件。


7. 后续就可以用 Codex 操作 Ubuntu

例如:

在远程环境 111@111.11.11.11 中,
进入 /home/111/项目目录,
分析整个项目的代码结构。

或者:

在 Ubuntu 远程环境中运行当前 Python 项目,
如果出现报错,分析原因并修改。

之后就可以在 Mac 上通过 Codex 操作 Ubuntu 里的:

Python
C++
ROS
CUDA
Git
模型训练
代码调试
项目文件

配置流程是:

Ubuntu 开启 SSH
        ↓
查看 Ubuntu 用户名和 IP
        ↓
Mac 测试 SSH 连接
        ↓
Mac 配置 ~/.ssh/config
        ↓
指定 IdentityFile ~/.ssh/id_ed25519
        ↓
设置 SSH 主机别名 ubuntu-pc
        ↓
Codex 添加 ubuntu-pc
        ↓
Codex 指定远程 SSH 环境
        ↓
执行 whoami
        ↓
返回 111
        ↓
连接成功
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐