代码归你,访问由你控制

你的签名证书
只在你那台机器上

一台 Mac mini 只分配给一位用户,非虚拟机。我们把物理资源的边界划清;你用密钥、最小权限和独立备份,决定谁能进入这张云端工位。

本页说明隔离与操作边界,不把独享机器等同于自动备份,也不把磁盘加密等同于访问授权。

独享物理节点不与其他租户共用内存与磁盘
用户控制凭据私钥与证书密码不写入工单
到期另行备份工作盘不能代替独立副本
物理隔离

整台机器给你,不切成几份

Desk M4 是独享物理 Mac mini:M4、16GB 内存、256GB SSD。在你的租用期间,这台机器的内存与磁盘不分配给其他租户。macOS 图形界面与命令行完整可用,项目、构建缓存和签名环境由你管理。

隔开其他租户的任务

不是把同一台机器的资源切给多位用户,也不以分时方式交替运行不同租户的构建。你的任务仍会与自己启动的模拟器、索引和后台进程竞争资源,排查时先看本机负载。

物理独享不代表任务没有资源上限。

环境变更由你管理

Xcode 版本、依赖、证书与描述文件属于你的工作环境。升级前记录版本,重要配置纳入自己的恢复清单。不要把唯一一份签名材料留在云端工作盘里。

环境可重建,关键材料要有副本。

网络仍需单独设防

物理隔离不是网络访问策略。开启 SSH、屏幕共享或开发服务后,仍需检查监听地址、身份验证和允许访问的来源。只让需要的服务对外可达。

机器独享,端口不应全部开放。

访问控制

先验证密钥,再关闭密码入口

控制台账户、macOS 用户和 SSH 私钥是三层不同的凭据。控制台密码不要复用系统密码;每位协作者使用自己的密钥,撤销访问时删除对应公钥,不要全员共用一把私钥。

  1. 在本地生成密钥

    在自己的电脑生成密钥并设置口令。只上传公钥文件;不上传无扩展名的私钥,也不把私钥放入代码仓库、聊天记录或构建产物。

    ssh-keygen -t ed25519
  2. 保留会话,另开连接

    从控制台核对连接信息,将公钥加入目标用户的授权列表。首次连接先核验主机指纹。保留当前可用会话,在第二个终端中完成一次密钥登录,再修改认证配置。

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
  3. 校验后禁用密码

    确认当前 macOS 的 SSH 配置入口及包含文件,再设置下面的认证项。检查语法后,按当前系统的服务管理方式使配置生效。再次测试新会话,成功后才退出旧连接。

    PubkeyAuthentication yes
    PasswordAuthentication no
    KbdInteractiveAuthentication no
    sudo /usr/sbin/sshd -t
网络防护

图形界面走隧道,端口按需放行

接手实例后,先核对控制台提供的连接端口与 macOS 的实际监听状态。本页不把未核实的交付规则写成固定默认值。你的安全基线应是:保留必要管理入口,关闭不用的服务;有来源限制能力时,优先收紧到可信网络。

交付后逐项核对,不用端口号猜测服务是否安全
入口 建议策略 你需要验证什么
SSH 仅保留确实需要的远程登录入口,优先密钥认证。 连接端口、授权用户、主机指纹,以及本地网络是否能够连通。
VNC / 屏幕共享 仅建议经 SSH 隧道访问,不直接暴露到公网。 服务是否启用、远端监听端口,以及直连入口是否已按实际需求收紧。
开发预览与调试服务 优先绑定本机回环地址;临时开放后及时关闭。 是否有认证、是否包含调试接口、是否会输出环境变量或敏感日志。
其他入站连接 没有明确用途就不启用,不为排错直接放开全部端口。 实际生效的主机防火墙与上游规则;不要只检查其中一层。

隧道示例:把远端屏幕共享留在 SSH 后面

下面的示例仅在远端服务监听 5900 时适用。将用户名和 IP 换成控制台提供的实际值;若服务端口不同,同步调整命令。然后在本地客户端连接 127.0.0.1:15900。

ssh -N -L 127.0.0.1:15900:127.0.0.1:5900 USER@HOST

隧道加密传输,但不会自动关闭原有公网入口。还要单独检查远端访问范围;结束远程桌面操作后,关闭对应隧道会话。

到期擦除

结束租用前,把最后一份副本带走

租期结束后的处理覆盖系统盘与已分配的附加 SSD。擦除不是备份,也不是延长租期的替代方案。请在到期前把项目、证书、构建产物和配置副本导出到你控制的位置,并验证副本能够打开。

到期前:你完成导出

以控制台展示的到期时间为准,提前安排迁出。停止会继续写盘的 Runner 和任务,再导出最后一份一致副本。需要继续使用时,从控制台确认续费结果。

不要依赖到期后的连接仍然可用。

结束后:进入清理流程

服务结束后按流程处理原用户环境,执行磁盘抹除与重新初始化,附加 SSD 纳入同一清理范围。仅删除项目文件夹,不等于完成设备清理。

如需核对处理范围,通过订单工单确认。

交接前:核对清理结果

重新交付前需完成清理与环境初始化检查。若你的合规流程要求明确的擦除时限或记录,请先提交订单信息,确认能否满足要求,再迁入敏感材料。

具体时限以服务条款及订单工单确认为准。

本页不承诺到期后有数据保留宽限期,也不承诺擦除后可恢复。销毁、恢复和迁移有不同目标,请在操作前确认你真正需要哪一种。

运维访问边界

先说清要做什么,再授权操作

日常运维不以读取你的项目代码、签名证书或业务文件为目标。涉及设备故障、连接异常、你主动申请的系统操作,或安全事件处置时,应把排查范围与可能影响说清楚。需要进入你的用户环境时,通过订单工单确认授权范围。

提交请求时,把“允许检查”与“允许修改”分开写
场景 先确认的内容 你的配合方式
连接不上 实例状态、网络连通性与必要服务状态;不要默认重装。 提供订单号、报错片段与复现步骤,注明是否允许重启。
系统内排错 需要查看的日志、目录与账户权限,是否会中断任务。 先脱敏日志;如需临时访问,限定权限并在完成后撤销。
重装或磁盘操作 目标设备、数据影响、备份状态及操作范围。 明确确认可执行的破坏性操作,不用含糊的“帮我修好”代替授权。
异常与安全事件 受影响的入口、需要收紧的访问及证据保留需求。 先停用泄露凭据,保留必要日志,再协商后续恢复步骤。

工单和邮件里不要发送 SSH 私钥、证书私钥、钥匙串密码或恢复密钥。需要协助定位时,先提供脱敏信息。联系渠道只有控制台工单与 support@macminivps.com。

你可以自己做的

让工位可重建,让凭据可撤销

安全配置不是一次性打勾。首次开通、加入协作者、升级工具链和结束租用时,都重新检查下面几项。先把恢复路径走通,再收紧访问,避免把自己锁在机器外面。

  • 启用 FileVault 前,先验证远程恢复路径

    磁盘加密能保护静态数据,但重启后可能需要解锁才能恢复远程服务。先确认当前环境的启动与解锁方式,把恢复密钥存放在另一处受控位置,再决定是否启用。

  • 钥匙串备份,与解锁信息分开保管

    只备份所需内容,限制副本的访问权限。不要把钥匙串副本和它的密码一起放进同一个项目目录或构建产物。备份后做一次可用性检查。

  • 定期导出签名证书与所需私钥

    使用受密码保护的导出文件,并核对有效期、用途和恢复所需材料。证书文件存在,不一定代表包含可用私钥;应在受控环境验证导入与签名流程。

  • CI 凭据只给必要权限

    Runner 使用独立身份,令牌限定到需要的项目与操作。避免在日志中打印环境变量;协作者退出或任务结束后,撤销不再需要的公钥与令牌。

  • 工作盘之外,保留可恢复的项目副本

    代码提交到你控制的仓库,大型素材与构建产物另行备份。记录 Xcode 版本、依赖与构建命令;缓存可以重建,签名材料和未提交代码不能靠缓存找回。

  • 结束租用前,清点所有外部授权

    迁出数据之后,注销 CI Runner、撤销临时令牌,并删除不再需要的服务端授权。不要只清空本地项目目录,却让外部系统继续信任这台工位。

先把访问边界定好,
再把构建任务搬进来

需要独享物理 Mac,直接选择工位。涉及敏感签名材料或团队安全要求,先用工单确认访问、恢复与擦除范围。