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.