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.
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.cfgist dielaufendeArbeitskopie der Geräte-Konfiguration.liest die Config aus dem Flash.savecfgmtd -f /tmp/system.cfg -r
cfgmtd -f /tmp/system.cfg -w schreibt die 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 users.3, users.4 usw. verwenden.