# UniFi AP - zweiten SSH User hinterlegen

## UniFi AP: Lokalen SSH-User rebootfest hinterlegen

Diese Anleitung legt auf einem UniFi AP einen lokalen SSH-User direkt in der Geräte-Konfiguration an. Der User überlebt einen Reboot, kann aber bei erneuter Controller-Provisionierung wieder überschrieben werden.

<div class="callout warning" id="bkmrk-achtung%3A-ein-user-mi">**Achtung:** Ein User mit UID 0 ist root-equivalent. Nur auf eigenen Geräten nutzen und SSH nicht offen ins Internet hängen.</div>### 1. Passwort-Hash erzeugen

Auf einem Linux-System mit OpenSSL einen MD5-crypt-Hash erzeugen:

```
openssl passwd -1

```

Passwort eingeben und den ausgegebenen Hash kopieren. Beispiel:

```
$1$abc12345$abcdefghijklmnopqrstuv

```

### 2. Per SSH auf den UniFi AP verbinden

```
ssh <admin-user>@<ap-ip>

```

Beispiel:

```
ssh ubntadmin@192.168.1.20

```

### 3. Aktuelle Config aus dem Flash lesen

```
cfgmtd -f /tmp/system.cfg -r

```

Wichtig: Dieser Schritt liest die gespeicherte Konfiguration aus dem Flash nach `/tmp/system.cfg`. Nicht nach dem Bearbeiten ausführen, sonst überschreibt man die eigenen Änderungen wieder. Weil Firmware offenbar gern kleine Fallen stellt.

### 4. Config bearbeiten

```
vi /tmp/system.cfg

```

Einen freien User-Slot suchen oder ergänzen, zum Beispiel `users.2`:

```
users.2.name=<ssh-user>
users.2.password=<openssl-passwd-hash>
users.2.shell=/bin/ash
users.2.status=enabled
users.status=enabled

```

Beispiel:

```
users.2.name=localadmin
users.2.password=$1$abc12345$abcdefghijklmnopqrstuv
users.2.shell=/bin/ash
users.2.status=enabled
users.status=enabled

```

Falls die Firmware UID/GID-Felder akzeptiert, können diese zusätzlich gesetzt werden:

```
users.2.uid=0
users.2.gid=0

```

Wichtig: `users.2.shell=/bin/false` verhindert einen brauchbaren SSH-Login. Für SSH muss dort z. B. `/bin/ash` stehen.

### 5. Config dauerhaft in den Flash schreiben

```
cfgmtd -f /tmp/system.cfg -w

```

Danach den AP neu starten:

```
reboot

```

### 6. Login testen

```
ssh <ssh-user>@<ap-ip>
id

```

Wenn der User root-equivalent ist, sollte `id` ungefähr so aussehen:

```
uid=0(...) gid=0(root)

```

### Kurzablauf

```
openssl passwd -1

ssh <admin-user>@<ap-ip>

cfgmtd -f /tmp/system.cfg -r
vi /tmp/system.cfg
cfgmtd -f /tmp/system.cfg -w
reboot

```

### Hinweise

- `/tmp/system.cfg` ist die Arbeitskopie der Geräte-Konfiguration.
- `cfgmtd -f /tmp/system.cfg -r` liest die Config aus dem Flash.
- `cfgmtd -f /tmp/system.cfg -w` schreibt die geänderte Config zurück in den Flash.
- `save` reicht hierfür nicht zuverlässig aus.
- Wenn der AP später wieder von einem UniFi Controller provisioniert wird, kann der Controller diese lokalen Änderungen überschreiben.
- Für mehrere User weitere Slots wie `users.3`, `users.4` usw. verwenden.