# If a build box is dark

Read this on your phone. Every line is safe to run twice. Nothing here needs the network.

## Try this before walking to the machine

RustDesk, peer ID (measured 2026-08-07):

- debian2 `28907236`
- debian3 `28886530`
- debian1 `28888072` — installed but not running, so it probably will not answer

If RustDesk connects, open a terminal in it and start at step 2.

## 1. Log in at the keyboard

The screen shows `login:`. Type:

```
user
```

Then your usual password. Nothing appears on screen while you type it. That is normal.

## 2. Type these four lines, one at a time

```
sudo rm -f /etc/ssh/sshd_config.d/10-tailscale.conf
sudo /usr/local/sbin/buildbox-sshd-access
sudo /usr/local/sbin/buildbox-rescue-door
sudo tailscale set --ssh
```

No password is asked. Line 2 ends with a line starting `SSHD`. Line 3 ends with a line
starting `RESCUE`.

## 3. Check

```
ss -lnt | grep 222
```

You need to see BOTH `0.0.0.0:2222` and `0.0.0.0:2223`. If you do, the machine is
reachable again. Stop here.

## 4. Only if step 2 said "No such file or directory"

```
sudo rm -f /etc/ssh/sshd_config.d/10-tailscale.conf
sudo systemctl restart ssh
ss -lnt | grep :22
```

That puts ssh back on port 22 on every interface — enough to get in and fix the rest
remotely.

## 5. Read these back to whoever is helping

```
hostname
tailscale ip -4
```

## If the password is not accepted

Reboot. A menu appears for five seconds — press the down arrow to stop it counting down.
Press `e`, find the line starting `linux`, add ` init=/bin/bash` at its end, press
`Ctrl-X`. At the prompt:

```
mount -o remount,rw /
passwd user
```

Then `reboot -f` and start again at step 1.

## Why it breaks

A config file pins ssh to a Tailscale address. That address does not exist yet while the
machine is booting, so ssh cannot start, and nothing starts it again. Deleting that one
file is the whole fix — steps 2 and 4 both begin by deleting it.
