Skip to main content

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.

Achtung: Ein User mit UID 0 ist root-equivalent. Nur auf eigenen Geräten nutzen und SSH nicht offen ins Internet hängen.

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 JJ_@AP-IP<admin-user>@<ap-ip>

Beispiel:

ssh JJ_@10.100.4.13ubntadmin@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=preoccupy8148<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.

4.5. KonfigurationConfig speicherndauerhaft in den Flash schreiben

savecfgmtd -f /tmp/system.cfg -w

Danach den AP neu starten:

reboot

5.6. Login testen

ssh preoccupy8148@AP-IP<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 laufendeArbeitskopie der Geräte-Konfiguration.
  • savecfgmtd -f /tmp/system.cfg -r liest die Config aus dem Flash.
  • cfgmtd -f /tmp/system.cfg -w schreibt die Änderunggeänderte dauerhaftConfig weg.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 einfach weitere Slots wie users.3, users.4 usw. verwenden.