OrbStack 安装 Ubuntu 并开启 SSH 与 Root 登陆

前言

之前在自己的 Mac 上安装 Docker 时,我都是直接用官方的 Docker Desktop 客户端。用起来也挺顺手的,镜像和容器的管理很方便,一直没觉得有啥问题。当时也听说过 OrbStack 这个工具,但因为 Docker Desktop 已经能满足日常需求,就没去尝试。

这次入职新公司后,拿到全新的 Mac,抱着既然要重新装环境,不如换个试试的想法,我决定试试 OrbStack,看看它是不是真有传说中那么好使。

OrbStack 介绍

借用官方的一句话:

OrbStack 是一款快速、轻量且简单的容器和 Linux 机器运行工具。它是一款功能强大的 Docker Desktop 和 WSL 替代方案,所有功能都集成在一个易于使用的应用程序中。

从我的实际体验来看,它的确有几个亮点:

  • 轻量 & 快速:启动和运行容器的速度明显快于 Docker Desktop,几乎没有等待感。
  • 界面简约:虽然功能没那么花哨,但布局清晰、操作直接。
  • Docker 完全可用 :安装完成后就能直接用 docker 命令管理镜像和容器。
  • Linux 虚拟机支持:可以快速部署 Ubuntu、Debian、CentOS 等,适合开发测试。

当然,也有一点小区别:

它不像 Docker Desktop 那样自带镜像管理 GUI(比如点击就能拉镜像),你需要自己用命令行操作。

不过,这对于真正使用的 Docker 的人来说几乎不是问题,反而让整个工具更干净、占用更少资源。

其次如果你需要跑一个轻量级的 Linux 环境,OrbStack 的虚拟机功能可以说是开箱即用,几秒就能启动。不过这些 Linux 是无 GUI 的纯命令行版本,适合做服务器、测试环境等用途。

安装方式很简单

  • 官网下载安装包
  • 或使用 Homebrew:
bash 复制代码
brew install --cask orbstack

Docker 使用

安装好 OrbStack 后,直接在终端使用 docker 命令即可。

拉取的镜像和创建的容器也能在 OrbStack 界面中可视化管理。

Ubuntu 虚拟机

创建 Ubuntu 虚拟机

打开 OrbStack,在左侧菜单栏找到 Machines ,点击 创建按钮 来新建一台虚拟机。

你需要填写或选择以下参数:

  1. Name

    虚拟机的名字。它不仅是管理时的标识,还可以作为局域网的访问域名。

  2. Distribution

    选择虚拟机的操作系统类型。支持:

    • Ubuntu
    • CentOS
    • Debian
    • Oracle 等
  3. Version

    选择对应系统的版本(例如 Ubuntu 22.04、Debian 12 等)。

  4. CPU Type

    • Apple(适用于 M 系列芯片)
    • Intel(适用于 Intel 芯片)
  5. Advanced(高级选项)

    可以自定义系统默认的用户名(Username),方便后续登录使用。

连接虚拟机

虚拟机创建好后,你可以在 Info 页签中看到它的 DomainIP 地址

不过,初始状态下无法直接用 SSH 登录,你可以先通过 OrbStack 内置的终端进入系统。

方式一:点击 Terminal 唤醒终端进入

在 OrbStack 的虚拟机详情页中,点击 Terminal 按钮,OrbStack 会直接调用你系统的默认终端(如 iTerm2、Terminal.app),并自动连接到该虚拟机。

方式二:SSH 连接

OrbStack 包含一个内置的 SSH 服务器,可用于访问所有 Linux 机器。这可以通过 SSH 配合使用。

通过 orb list 命令可以看到有哪些运行的虚拟机,可以通过 ssh orb 进入默认的虚拟机中。

通过 ssh <虚拟机名称>@orb 可以访问指定的虚拟机

笔记

  • ssh orb 可以直接登录默认的虚拟机
  • ssh <虚拟机名称>@orb 可以登录指定的虚拟机
  • ssh <username>@<虚拟机名称>@orb 可以指定用户登录指定的虚拟机
  • orb default <虚拟机名称> 可以设置 orb 默认的虚拟机

配置 SSH 和 Root 登录

在默认配置下,Ubuntu 安装完成后的 root 用户是禁用密码登录的,也无法通过 SSH 直接登录。如果你需要开启 SSH 并允许 root 用户远程登录,可以按照以下步骤配置。

1. 设置 root 用户密码

Ubuntu 默认不为 root 设置密码,也不允许以 root 用户直接登录。我们可以先手动设置一个密码:

bash 复制代码
sudo passwd root

系统会提示你输入新密码并确认,完成后,root 用户将将会有登录密码。

2. 切换到 root 用户

设置密码后,可以通过以下命令切换到 root:

bash 复制代码
su root

如果提示 su: Authentication failure,说明密码未正确设置或未生效。

3. 安装 OpenSSH 服务

如果系统还没有安装 SSH 服务,可以使用 apt 安装:

bash 复制代码
sudo apt update
sudo apt install openssh-server

安装完成后,SSH 服务会自动启动。你可以使用以下命令确认服务状态:

bash 复制代码
sudo systemctl status ssh

4. 修改 SSH 配置文件,允许 root 登录

编辑 SSH 配置文件:

bash 复制代码
sudo vim /etc/ssh/sshd_config

找到以下配置项(大概在第 54 行附近),解除注释并将值从 prohibit-password 修改为 yes

ini 复制代码
# 原始可能为:
# PermitRootLogin prohibit-password

# 修改为:
PermitRootLogin yes

说明:

  • prohibit-password 表示禁止使用密码方式登录 root,只允许密钥登录;
  • yes 表示允许 root 用户使用密码登录;
  • no 表示完全禁止 root 登录。

如果你找不到该配置项,可以直接手动添加在文件末尾。

5. 重启 SSH 服务使配置生效

bash 复制代码
sudo systemctl restart ssh.service

此时,你就可以使用 root 用户通过 SSH 登录服务器了:

bash 复制代码
ssh root@your-server-ip

在 OrbStack 中,除了可以直接使用 IP 地址 连接虚拟机外,还可以使用它提供的 Domain 进行登录。相比 IP,Domain 的优势在于它是固定的,不会因为虚拟机重启或网络变化而改变,从而避免终端中保存的 SSH 连接因 IP 变动而失效的问题。

相关链接

相关推荐
chxii17 分钟前
2.9 插槽
前端·javascript·vue.js
程序员黄老师18 分钟前
Linux tail 命令详解
linux·运维
我怎么又饿了呀1 小时前
Windows&Linux系统 安装 CUDA 和 cuDNN
linux·运维·windows
姑苏洛言1 小时前
扫码点餐小程序产品需求分析与功能梳理
前端·javascript·后端
Freedom风间1 小时前
前端必学-完美组件封装原则
前端·javascript·设计模式
江城开朗的豌豆1 小时前
React表单控制秘籍:受控组件这样玩就对了!
前端·javascript·react.js
一枚前端小能手1 小时前
📋 代码片段管理大师 - 5个让你的代码复用率翻倍的管理技巧
前端·javascript
国家不保护废物2 小时前
Web Worker 多线程魔法:告别卡顿,轻松实现图片压缩!😎
前端·javascript·面试
接着奏乐接着舞。2 小时前
如何在Vue中使用拓扑图功能
前端·javascript·vue.js
阳先森2 小时前
Vue3 Proxy 为何不直接返回target[key],选用Reflect
前端·vue.js