以每月4美元在 DigitalOcean 上运行 OpenBSD
摘要
本文提供了在 DigitalOcean 上以每月4美元设置 OpenBSD 的分步指南,涵盖了从下载操作系统镜像到创建和配置 droplet 的全过程。
<p><a href="https://lobste.rs/s/za8vwp/run_openbsd_on_digitalocean_for_4_month">评论</a></p>
查看缓存全文
缓存时间: 2026/08/25 17:45
# 每月4美元在DigitalOcean上运行OpenBSD
来源:https://nil.wallyjones.com/run-openbsd-on-digitalocean-for-4month/
OpenBSD 7.9 吴迪小鱼
我的主页 (https://wallyjones.com/) 现在运行在 OpenBSD 上,使用 httpd(8) (https://man.openbsd.org/httpd.8) 和 Let's Encrypt (https://letsencrypt.org/),通过 acme-client(1) (https://man.openbsd.org/acme-client.1)。我之前将其托管在 GitHub Pages (https://docs.github.com/en/pages/quickstart) 上,后来又迁移到了 Cloudflare Pages (https://www.cloudflare.com/products/pages/),因为这两个选项都是免费且简单的。免费又简单确实不错,我理解全职编写软件的人下班后绝对不想再碰电脑,但最近我开始怀念自己成长过程中那种 DIY 的网络。我成长过程中最喜欢的一些时光包括安装和配置基于 UNIX 的操作系统,以及花上数小时试图理解计算机的工作原理。甚至在 20 多年前,我通过一个 FreeBSD UNIX shell 帐户 (https://en.wikipedia.org/Shell_account) 论坛在网上认识了我现在最亲密的朋友之一。
所以,本着这种精神,我想写点东西,介绍如何每月花 4 美元在 DigitalOcean 上启动并运行 OpenBSD。嗯,其实算上税是 4.24 美元,但仍然相当不错!
## 下载 OpenBSD
下载 OpenBSD (https://www.openbsd.org/faq/faq4.html#Download) 有几种不同的选择,但最快的方法是获取迷你根目录镜像。
```
curl -O -O https://cdn.openbsd.org/pub/OpenBSD/7.9/arm64/{miniroot79.img,SHA256}
```
确认镜像的校验和是否正确。
```
sha256sum -c --ignore-missing SHA256 miniroot79.img
miniroot79.img: OK
```
## 注册 DigitalOcean 并上传 miniroot79.img
注册并登录 DigitalOcean 后,转到左侧导航栏的 STORAGE(存储)部分下的 Backups & Snapshots(备份与快照)。点击 Upload an Image(上传镜像)。选择我们之前下载的 `miniroot79.img` 文件。为你选择一个合适的数据中心。在发行版(Distribution)下拉菜单中选择 Other(其他)(嘿,DigitalOcean,为什么没有 BSD 发行版选项?)。给自定义镜像起个名字,比如聪明的 "OpenBSD miniroot79"。最后,点击 Add Custom Image(添加自定义镜像)按钮。
### 关于自定义镜像的注意事项
DigitalOcean 会对托管自定义镜像收费。请务必在服务器启动运行后返回此页面删除镜像。
在 DigitalOcean 上上传自定义镜像
## 创建 Droplet(水滴实例)
点击左侧导航栏 COMPUTE(计算)部分下的 Droplets。我们将创建基础版 (https://www.digitalocean.com/pricing/droplets) Droplet,包含 512MB 内存、1 个 vCPU、500GB 流量和 10GB 磁盘空间。
为你选择一个合适的 Droplet 区域。
在 Custom Images(自定义镜像)标签页下,选择我们之前上传的 `miniroot79.img` 文件。
在 DigitalOcean 上选择自定义的 miniroot79.img 文件
选择 Basic(基础)计划。
在 DigitalOcean 上选择 Basic / Regular SSD 层级的 Droplet
在 Authentication(认证)部分添加一个 SSH 密钥。DigitalOcean 实际上并不会添加此密钥,但创建 Droplet 必须填写。请按照说明创建和添加 SSH 密钥。
其余选项由你决定。不过要提醒一下,我注意到它不允许在启用 IPv6 的情况下创建 Droplet。最后,为你的 Droplet 命名,然后点击 Create Droplet(创建 Droplet)。
注意每月总费用为 $4.00... 不错,哥们。
显示每月 $4.00 费用的 Droplet 创建摘要页面
## 安装 OpenBSD
转到你新创建的 Droplet,点击右上角的 Web Console(网络控制台)按钮。你会看到一个关于更新 Droplet 控制台的模态弹窗。只需点击 Launch Recovery Console(启动恢复控制台)按钮。
Droplet 页面顶部的 Web Console 按钮
这将打开一个新的浏览器窗口,将你带入启动的 `miniroot79.img` 的控制台。看看这白底蓝字。漂亮。
在 DigitalOcean 上启动 miniroot79.img 的 Web Console
输入 `i` 并按回车。
对于大部分问题,我们可以选择默认选项。请根据你的情况选择,但我将引导你完成一个非常基础的设置。只需确保给你的服务器起个很酷的主机名。
显示 OpenBSD 安装选项的 Web Console
- 选择 `vio0` 网络接口。
- 为 IPv4 和 IPv6 地址选择 `autoconf`(自动配置)。然后选择 `[done]`(完成),因为我们可以稍后配置其他接口。
- 确保为 root 帐户创建一个安全的密码。
- 我们确实希望默认启动 sshd(8),以便安装后可以 SSH 登录服务器。
- 我们不打算运行 X Window 系统。这是一个基础服务器,哥们。输入 no。
- 不要将默认控制台更改为 `com0`。
- 为你自己创建一个非 root 用户。确保创建安全的密码。输入你的用户名。
- 不要允许 root SSH 登录。
- 选择适合你的时区。
- 选择磁盘 `sd0` 作为根磁盘。如果你想查看磁盘大小,可以输入 `?`。
- 如果你想使用全盘加密,选择 `p` 使用密码短语加密磁盘。
### 关于全盘加密的注意事项
这将要求你每次重启服务器时都登录 DigitalOcean 并启动网络控制台输入密码短语。据我所知,OpenBSD 上没有类似 macOS 的 `fdesetup authrestart` (https://eclecticlight.co/2023/02/20/macos-13-2-1-authenticated-restart-and-fdesetup/) 功能,因此安装需要重启的内核补丁会更麻烦一些。对我来说这不算什么大麻烦。关于在 Web 控制台中输入密码短语的安全性也可能存在争议。
显示 OpenBSD 磁盘设置的 Web Console
- 使用 `\(W\)hole`(整个)磁盘 MBR。
- 输入你的安全密码短语进行全盘加密。
- 使用 `\(A\)uto`(自动)布局。
- 无需初始化 `sd1`。按回车选择 `[done]`。
- 安装组件集合(sets)!
- 使用 `http`。
- 我们可能不需要代理,但由你决定。
- 使用 `?` 查看镜像列表。找到对应你 Droplet 数据中心最近的镜像编号。
- 按 `q` 退出分页器。
- 输入镜像编号并按回车。你应该能在方括号中看到镜像。按回车。
- 使用默认目录 `pub/OpenBSD/7.9/amd64`。
由于这将是一个精简的 Web 服务器,我们可以移除大部分组件集合。你可以输入 `-x*` 移除所有 X 服务器集合。我们再移除游戏 `-gam*` 和编译器 `-com*` 集合。这应该会留下 `bsd`、`bsd.rd`、`base79.tgz` 和 `man79.tgz`。完成后按回车。下载组件时你应该会看到签名已验证。安装完成后,我们可以选择 `[done]`。
显示组件安装和验证的 Web Console
OpenBSD 现在安装好了!按回车重新启动。
显示 OpenBSD 安装已成功完成的 Web Console
如果你决定使用全盘加密,现在会提示输入密码短语。成功输入密码短语后,你应该会看到 `boot>` 提示符。你可以按回车启动,或等待系统自动启动。从此,你可以继续使用 Web 控制台,或通过 SSH 登录服务器。我建议使用 SSH,因为终端更舒适。转到 Droplet 页面,复制公网 IP 地址,然后 SSH 登录!确保使用我们在安装过程中创建的非 root 用户,因为我们已关闭了 root SSH 登录。
通过 SSH 连接到新 OpenBSD Droplet 服务器的 macOS 终端
你现在已通过 SSH 登录到每月 4 美元、运行在 DigitalOcean 上的可爱 OpenBSD 服务器。
现在正是阅读 OpenBSD 手册并了解安装后配置 (https://www.openbsdhandbook.com/installation#post-installation-configuration) 的好时机。我也建议查看 OpenBSD 的常见问题解答页面 (https://www.openbsd.org/faq/index.html)。最后,我建议至少将你的公钥 SSH 密钥复制到服务器,并关闭密码认证 (https://www.openbsdhandbook.com/secure-openssh)。
如果你有任何问题,*请*不要犹豫联系我,哪怕只是打个招呼!你可以在我的酷炫主页 https://wallyjones.com/ 上找到我的联系方式,它就运行在一个酷炫的 OpenBSD 服务器上。
相似文章
使用 OpenBSD 搭建一个简单的自托管网页服务器
一份在 OpenBSD 上使用 httpd 和 WireGuard 通过 VPS 隧道隐藏 IP 来设置自托管网页服务器的逐步指南。
从 Codeberg Pages 迁移到 OpenBSD VPS
作者详细描述了因性能问题将静态网站从 Codeberg Pages 迁移到 OpenBSD VPS 的过程,包括设置步骤和个人经验。
在Lemote Yeeloong笔记本电脑上使用OpenBSD与“龙”共舞
一篇博客文章详细描述了作者在搭载中国龙芯MIPS处理器的Lemote Yeeloong笔记本电脑上运行OpenBSD的体验,讨论了硬件、软件挑战以及自由软件哲学。
在NetBSD上使用bozohttpd搭建简单的Web服务器
在NetBSD上使用bozohttpd搭建简单Web服务器的实用指南,包括通过inetd进行配置、使用acme-client实现HTTPS,以及可选的多站点设置。
以‘始终免费’方式全天候运行OpenClaw(非Oracle VPS选项?)
作者寻求Oracle Cloud的替代方案,以在‘始终免费’套餐中托管全天候的OpenClaw实例,讨论了Google Cloud e2-micro和Fly.io等选项,并询问如何在1GB RAM内运行的优化技巧。