拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Ubuntu 26.04 部署实战:VMware 虚拟机 + 镜像源 + SSH 配置全流程

Ubuntu 26.04 部署实战:VMware 虚拟机 + 镜像源 + SSH 配置全流程

1. Ubuntu 26.04 部署前先想清楚:VMware 虚拟机里到底要装成什么样

Ubuntu 26.04 是长期支持版本,很多做后端、容器、AI 工具链的朋友会把它装进 VMware 虚拟机当本地开发服务器用。它能做什么?一句话:给你一台可以随时快照回滚、能远程 SSH 登录、能跑 JDK、Node、Redis、PostgreSQL、Nginx 的完整 Linux 环境。适合谁?适合不想动自己主力机系统、又想有一套干净可复现环境的开发者,尤其是要跑本地模型服务、写后端接口、做自动化脚本的人。

我这次的目标很明确:在 VMware 里装好 Ubuntu 26.04,把默认镜像源换成国内地址加速,配好 SSH 让宿主机能直接连进去,再顺手把基础环境校验一遍。整个过程踩过几个坑,比如安装阶段 mirror 地址不改会卡在下载、SSH 装完没开机自启、防火墙开了却忘了放行 22 端口。下面按可复制的顺序写,你照着敲就行。

先说清楚 VMware 侧的准备工作。新建虚拟机时选「典型」,客户机操作系统选 Linux、版本选 Ubuntu 64 位。内存建议至少 4GB,想跑数据库和 Node 就拉到 8GB;磁盘给 40GB 以上,选「将虚拟磁盘拆分成多个文件」方便迁移。网络适配器这一步很关键:如果你希望宿主机能直接 SSH 进来,用 NAT 就行,VMware 会分配一个 192.168.x.x 的地址;想更省事也可以用桥接,让虚拟机和宿主机在同一网段。我一般用 NAT,稳定且不依赖路由器。

安装镜像启动后,语言选中文或英文都行,安装类型选「交互式安装」。到了「配置软件源 / mirror」这一步,默认的 archive.ubuntu.com 在国内下载会很慢,甚至超时导致安装失败。把地址改成https://mirrors.aliyun.com/ubuntu再继续,这一步能省掉大量等待时间。分区直接用默认的「使用整个磁盘」,不用手动分。用户名密码设一个你记得住的,后面 sudo 要用。

安装完成后第一次进系统,先别急着装软件,先确认磁盘有没有未分配空间。打开「磁盘」工具或者用lsblk看一眼,如果 VMware 给的磁盘比实际分配的大,可以后续用growpart扩容。确认没问题再往下走。整个部署链路的核心就是三件事:换源加速、开 SSH 远程、校验环境。下面逐个拆开。

2. TaoToken 前置准备:给后续 AI 工具链留好接口

Ubuntu 26.04 装好之后,很多人不只是拿它当普通服务器,还会在上面跑 AI 编码工具、Agent、模型对话客户端。这时候你需要一个统一的模型接入入口,省得每个工具单独配 key、单独改地址。TaoToken 就是干这个的:它提供兼容 OpenAI 风格的 API 地址,你把 Base URL 指向它,再填上自己的 Key,就能在多个工具里复用同一套配置。

官网地址是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 根地址是 https://taotoken.net/api 。注意 API 地址后面不加任何 UTM 参数,直接用它作为 Base URL 就行。你需要提前准备好三样东西,后面配置任何工具都围绕这三件套:

配置项值说明
Base URLhttps://taotoken.net/api所有兼容 OpenAI 的工具都填这个
API Key在控制台生成形如 sk-xxxx,注意保密
Model ID按需选择比如对话模型、编码模型,填工具要求的名称

获取 Key 的路径是进控制台,找到 API Keys 页面新建一个。如果你只是想在 Ubuntu 里验证模型能不能通,用「模型对话」页面直接测最省事;如果你打算长期在这台虚拟机上做编码、跑 Agent,那更适合用 Coding Plan,额度和管理都更集中。文档页有各工具的接入示例,遇到不确定的字段去那里对一下。

为什么要在部署阶段就提这个?因为后面你装完 Node、Git、opencode 这类工具后,第一件事往往就是配模型接入。与其到时候手忙脚乱找地址,不如现在就把三件套记下来。我试过在虚拟机里同时配 Cline、opencode 和命令行客户端,共用同一个 Base URL 和 Key,切换工具时只改 Model ID,非常省心。

有一点要提醒:TaoToken 是正规的模型接入服务,不是让你去搞什么网络绕行。你只需要在工具配置里填 Base URL 和 Key,剩下的它来处理。所有配置都在你本地虚拟机的配置文件里,不涉及系统级改动。下面进入具体操作,先换源,再装 SSH,最后校验。

3. 可复制配置:镜像源替换 + SSH 启用 + 基础环境

这一节是全文最核心的部分,所有命令都可以直接复制。先做镜像源替换。Ubuntu 26.04 用的是新的ubuntu.sources格式,路径在/etc/apt/sources.list.d/ubuntu.sources。先备份,再替换:

sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak sudo sed -i 's|http://archive.ubuntu.com/ubuntu|https://mirrors.aliyun.com/ubuntu|g; s|http://security.ubuntu.com/ubuntu|https://mirrors.aliyun.com/ubuntu|g' /etc/apt/sources.list.d/ubuntu.sources sudo apt update

执行完apt update如果看到 Hit、Get 都指向 mirrors.aliyun.com,说明换源成功。如果报错Could not resolve,检查虚拟机网络是不是 NAT 没通,先ping mirrors.aliyun.com确认。

接着更新系统并装常用工具:

sudo apt update && sudo apt upgrade -y sudo apt install -y curl vim

然后装 SSH 服务并设为开机自启:

sudo apt install -y openssh-server sudo systemctl start ssh sudo systemctl enable ssh

防火墙用 ufw,放行 22 端口再启用:

sudo apt install -y ufw sudo ufw allow 22/tcp sudo ufw enable sudo ufw reload

注意ufw enable会提示可能中断 SSH 连接,如果你当前就是通过 SSH 连的,先确认 22 已放行再按 y。虚拟机本地操作无所谓。

基础环境按需装。JDK 17:

sudo apt update sudo apt install -y openjdk-17-jdk

Maven:

sudo apt install -y maven mvn -version

Redis 并允许外部访问(仅本地开发用,生产别这么干):

sudo apt install -y redis-server sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.bak sudo sed -i 's/bind 127.0.0.1 -::1/bind 0.0.0.0/g; s/protected-mode yes/protected-mode no/g' /etc/redis/redis.conf sudo systemctl restart redis sudo systemctl enable redis-server sudo ufw allow 6379/tcp sudo ufw reload

Nginx:

sudo apt install -y nginx sudo systemctl restart nginx sudo systemctl enable nginx sudo ufw allow 80/tcp sudo ufw reload

PostgreSQL:

sudo apt update sudo apt install -y postgresql postgresql-client pg_lsclusters

Node.js 24 LTS:

sudo apt remove -y nodejs npm curl -fsSL https://deb.nodesource.com/setup_24.x | sudo bash - sudo apt install -y nodejs node -v npm -v

Git:

sudo add-apt-repository ppa:git-core/ppa -y sudo apt update && sudo apt install -y git git --version

如果你要在虚拟机里配 AI 编码工具,opencode 可以这样装:

curl -fsSL https://opencode.ai/install | bash

装完后它的配置文件里需要填 Base URL、Key、Model ID 三件套,Base URL 用https://taotoken.net/api,Key 从控制台拿,Model ID 按你选的模型填。这样这台 Ubuntu 虚拟机就具备了远程开发和模型接入的完整能力。

4. 验证请求:SSH 连通性 + 服务状态 + 模型接口测试

配置写完必须验证,不然等于没配。先看 SSH 是否在监听:

sudo systemctl status ssh ss -tlnp | grep 22

status显示 active (running),ss能看到 0.0.0.0:22 或 :::22 就对了。然后在宿主机(你的 Windows 或 Mac)上开终端测试:

ssh 用户名@虚拟机IP

虚拟机 IP 用ip addr或hostname -I查,NAT 模式下一般是 192.168.x.x。第一次连会提示指纹确认,输 yes 再输密码。能进去就说明 SSH 通了。如果连不上,先在虚拟机里ping宿主机,再检查 ufw 状态sudo ufw status,确认 22/tcp 是 ALLOW。

服务状态批量检查:

systemctl is-active ssh nginx redis-server postgresql

每个都返回 active 才算正常。Redis 可以用redis-cli ping返回 PONG 验证;Nginx 用curl -I http://localhost看是否返回 200;PostgreSQL 用sudo -u postgres psql -c '\l'列出数据库。

模型接口验证,用 curl 直接打 TaoToken 的 API:

curl https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer 你的Key" \ -H "Content-Type: application/json" \ -d '{ "model": "你的ModelID", "messages": [{"role": "user", "content": "ping"}] }'

返回 JSON 里带choices字段就说明通了。如果返回 401,是 Key 不对或没带 Bearer 前缀;如果返回 model not found,是 Model ID 写错了。这一步通了,你后面在 opencode、Cline 里配同样的三件套就不会再出问题。

5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth

部署过程中最容易撞的几个报错,我按真实遇到的整理一下。

401 Unauthorized:模型接口返回这个,九成是 Key 问题。检查三处:Key 有没有复制全(sk- 开头那串)、请求头是不是Authorization: Bearer sk-xxx、Key 有没有在控制台被禁用。如果是在工具里配的,确认 Base URL 填的是https://taotoken.net/api而不是带别的路径。

local proxy failed:工具里报这个,通常是它想走本地代理但代理没起,或者 Base URL 填成了 localhost。把工具配置里的 Base URL 直接改成https://taotoken.net/api,不要经过任何本地转发。同时检查虚拟机能不能curl https://taotoken.net/api,网络不通先解决 NAT。

reading choices 报错 / choices 字段为空:一般是返回体不是标准 OpenAI 格式,或者 Model ID 填了个不存在的模型。先用第 4 节的 curl 命令单独测,确认返回里有choices数组。如果 curl 正常但工具报错,多半是工具版本太旧,升级一下。

OAuth 相关报错:有些工具(比如 Claude Code 类)默认走 OAuth 登录流程,但你要用 API Key 接入时得选对模式。在配置里找 API Key / Base URL 选项,填上三件套,别走 OAuth 授权。如果工具强制 OAuth,看它的文档有没有auth.json或环境变量方式,把 Base URL 和 Key 写进去。

SSH 连不上:先sudo ufw status看 22 有没有放行,再sudo systemctl status ssh看服务起没起,最后确认 VMware 网络模式。NAT 模式下宿主机能连虚拟机,但外部机器连不了,这是正常的。

apt update 报错 Could not resolve:换源后域名解析失败,检查虚拟机 DNS。可以cat /etc/resolv.conf看 nameserver,NAT 模式下一般是 192.168.x.2。如果不对,在 VMware 虚拟网络编辑器里恢复默认设置。

排障的核心思路是分层:先确认网络通不通,再确认服务起没起,最后确认配置字段对不对。模型接入的排障入口在接入文档,里面有各工具的完整字段说明;Key 的问题去 API Keys 页面重新生成一个对比测试。

6. 后续怎么用:把这台虚拟机变成长期开发环境

环境搭好只是开始。这台 Ubuntu 26.04 虚拟机接下来可以承担几类活:跑本地后端服务、当 Redis/PostgreSQL 的测试库、跑 Node 脚本和自动化任务、作为 AI 编码工具的运行环境。建议装完就打个 VMware 快照,命名成「干净环境」,以后装崩了直接回滚,比重新装快得多。

如果你打算长期在这台机器上做编码和 Agent 开发,把模型接入统一到一套配置上会省很多事。Base URL 固定用https://taotoken.net/api,Key 放环境变量里别硬编码,Model ID 按任务切换。想集中管理额度和用量,用 Coding Plan 更合适;只是临时验证模型通不通,用模型对话页面最快;要新建或轮换 Key,去 API Keys 页面操作。文档页有各工具的接入模板,配新工具时先翻那里。

最后给几个实用习惯:SSH 配好后可以写个~/.ssh/config别名,以后ssh dev就能连;ufw 规则改完记得reload;Redis 和 PostgreSQL 的默认配置只适合本地开发,别把 0.0.0.0 监听带到公网;每次大改配置前先备份原文件,我上面每条 sed 命令前都留了.bak,这个习惯能救你很多次。环境是自己的,稳比快重要。

返回列表