macOS VNC
Read when:
- launching managed AWS EC2 Mac desktop leases;
- preparing a static Mac for Crabbox VNC;
- debugging Screen Sharing credentials or EC2 Mac host requirements.
Crabbox supports macOS in two ways:
- managed AWS EC2 Mac leases on an operator-provided Dedicated Host;
- static Macs reached through
provider: ssh.
#Managed AWS EC2 Mac
CRABBOX_AWS_MAC_HOST_ID=h-... \
crabbox warmup --provider aws --target macos --desktop --market on-demand
crabbox vnc --id silver-squid --open
crabbox screenshot --id silver-squid --output macos.png
EC2 Mac requirements:
- an allocated EC2 Mac Dedicated Host in the selected region;
CRABBOX_AWS_MAC_HOST_IDoraws.macHostId;- On-Demand capacity;
- the default
mac2.metalinstance type unless--typeis set.
Bootstrap enables Screen Sharing for ec2-user, sets a generated per-lease password, stores it at /var/db/crabbox/vnc.password, and keeps access behind the SSH tunnel. crabbox vnc prints:
macos username: ec2-user
macos password: ...
AWS EC2 Mac has a provider-level lifecycle constraint: Mac instances run on allocated Dedicated Hosts with a 24-hour minimum host allocation period. Crabbox launches onto a host id you provide; it does not allocate, scrub, or retire Mac hosts for you.
#Static Mac
Static Mac targets are existing machines:
provider: ssh
target: macos
static:
host: mac-studio.tailnet-name.ts.net
user: steipete
port: "22"
workRoot: /Users/steipete/crabbox
crabbox vnc --provider ssh --target macos --static-host mac-studio.tailnet-name.ts.net --host-managed --open
The Mac must already have SSH, git, rsync, tar, and Screen Sharing or a VNC-compatible service. Credentials are host-managed. --open requires --host-managed because the visible login prompt belongs to that Mac, not to a Crabbox-created cloud lease.
Static Macs work well over Tailscale: put the MagicDNS name or 100.x address in static.host and keep Screen Sharing limited to trusted networks.
#Troubleshooting
Missing host id
Set CRABBOX_AWS_MAC_HOST_ID or aws.macHostId, use --market on-demand, and verify the Dedicated Host is allocated in the selected AWS region.
VNC prompt asks for host credentials
If managed: false, you opened a static Mac. Use the Mac's own Screen Sharing credentials. Managed AWS EC2 Mac leases print the generated ec2-user password.
Related docs: