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 -rcfgmtd -f /tmp/system.cfg -wschreibt dieÄnderunggeändertedauerhaftConfigweg.zurück in den Flash.savereicht 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
einfachweitere Slots wieusers.3,users.4usw. verwenden.