使用 Multipass 启动一台基于 Ubuntu 24.04 的虚拟机,并通过 cloud-init.yaml
实现自动化配置。配置内容包括创建用户、禁用 root 和密码登录、启用 SSH 公钥认证,确保系统安全且易于远程管理。只需一条命令即可快速部署完成,非常适合开发和测试场景使用。
1. 创建 cloud-config.yaml
生成 SSH 密钥对(或准备好现有公钥):
ssh-keygen -t ed25519 -C "liqixin@vm"
公钥会保存在 ~/.ssh/id_ed25519.pub
中。
创建一个名为 cloud-config.yaml
的文件:
# cloud-config.yaml
users:
- name: liqixin
sudo: ALL=(ALL) NOPASSWD:ALL
shell: /bin/bash
lock_passwd: true
ssh_authorized_keys:
- ssh-ed25519 AAAA liqixin@vm
disable_root: true
ssh_pwauth: false
请把 ssh-ed25519 AAAA...
替换成你自己的公钥内容(~/.ssh/id_ed25519.pub
里的内容)。
2. 启动 VM
在 cloud-config 文件所在目录,运行以下命令:
multipass launch 24.04 \
--name liqixin-vm \
--cpus 1 \
--memory 1G \
--disk 10G \
--cloud-init cloud-config.yaml
这会:
- 下载 Ubuntu 24.04(首次执行会下载镜像)
- 创建名为
liqixin-vm
的虚拟机 - 启动时自动创建
liqixin
用户,并配置好免密 SSH 登录
3. 通过 SSH 登录
Multipass 默认会自动配置主机与 VM 的网络连接,你可以用以下方式连接:
multipass info liqixin-vm
输出中找到 IP 地址,例如:
liqixin-vm:
...
IPv4: 192.168.64.3
然后用你的私钥直接 SSH 登录:
ssh -i ~/.ssh/id_ed25519 [email protected]
首次连接需要确认 fingerprint,之后就可以直接连了。
4. 清理 / 删除 VM
如果以后不需要这个 VM,可以这样清理:
multipass delete liqixin-vm
multipass purge
发表回复