Введение
Хотя устройства UniFi поставляются с замечательным GUI-контроллером, иногда требуется обратиться к устройству UniFi через командный интерфейс по SSH. Например, для предварительного подключения с помощью команды set-inform. Какие ещё команды доступны для UniFi по SSH?
SSH не очень хорошо документирован для UniFi, но мы попробовали собрать в эту статью самые употребимые команды из разных источников и своего опыта. Вы можете дополнить список в комментариях.
Доступ к интерфейсу командной строки по SSH
Устройство, с которого вы получаете доступ, должно находиться в той же локальной сети, что и устройство, к которому вы подключаетесь. Возможно подключение к локальной сети по VPN-туннелю. Если с подключением наблюдаются ошибки, попробуйте подключить ваше терминальное устройство по Ethernet непосредственно к порту LAN управляемого устройства.
На управляющих устройствах UniFi (консолях, шлюзах, Dream Machine, CloudKey и т. д.) SSH, по умолчанию, выключен. Включить его можно в этом меню:
UniFi OS → Console Settings → SSH
На прочих устройствах UniFi SSH, по умолчанию, включён. Настройка доступа производится в этом меню:
UniFi Network → Settings → Advanced → Device Authentication
В состоянии поставки используются следующие пары логин/пароль:
- консоли и шлюзы UniFi — root:ui (root:ubnt на старых версиях);
 - прочие устройства UniFi — ui:ui (ubnt:ubnt на старых версиях).
 
Доступ по SSH из Linux и macOS можно получить с помощью системного терминала. В Windows — с помощью PowerShell или стороннего приложения, например, PuTTY.
Синтаксис команды подключения по SSH:
ssh <username>@<ip-address> [-p <port>]
Пример:
ssh root@192.168.1.1 -p 1122
Команды общего порядка
Здесь собраны SSH-команды, которые могут понадобиться на устройстве UniFi, в первую очередь.
	
		
			| Команда | 
			Пример | 
			Описание | 
		
		
			| info | 
			info | 
			Отображение информации об устройстве | 
		
		
			| set-default | 
			set-default | 
			Сброс к заводским настройкам | 
		
		
			| set-inform | 
			set-inform http://192.168.1.1:8080/inform | 
			Установка URL контроллера, который должен опознавать оборудование | 
		
		
			| upgrade | 
			upgrade https://<firmware-url>.bin | 
			Перезапись прошивки | 
		
		
			| fwupdate | 
			fwupdate --url https://<firmware-url>.bin | 
			Обновление прошивки | 
		
		
			| reboot | 
			reboot | 
			Перезагрузка устройства | 
		
		
			| poweroff | 
			poweroff | 
			Выключение устройства | 
		
		
			| uptime | 
			uptime | 
			Отображение времени непрерывной работы устройства | 
		
	
Сетевые команды
Эти SSH-команды помогут вам пофиксить сетевые баги устройств UniFi.
	
		
			| Команда | 
			Пример | 
			Описание | 
		
		
			| ifconfig | 
			ifconfig | 
			Отображение информации о сетевом интерфейсе | 
		
		
			| ip address add | 
			ip address add 192.168.1.143/24 dev br0 | 
			Присвоение статичного IP-адреса | 
		
		
			| ip route | 
			ip route | 
			Отображение текущего шлюза | 
		
		
			| ip router add | 
			ip route add default via 192.168.1.1 | 
			Установка шлюза, по умолчанию | 
		
		
			|   | 
			echo "nameserver 192.168.1.1" > /etc/resolv.conf | 
			Установка DNS-сервера | 
		
		
			| ping | 
			ping 192.168.1.101 | 
			Проверка соединения с устройством | 
		
		
			| arp | 
			arp -a | 
			Отображение таблицы определения адресов | 
		
		
			| ip neigh | 
			ip neigh | 
			Отображение соседних устройств в сети | 
		
	
Команды Unifi OS
Эти команды становятся доступны, когда вы подключаетесь к Dream Machine Pro или другому контроллеру с установленной Unifi OS.
	
		
			| Команда | 
			Пример | 
			Описание | 
		
		
			| ubnt-systool help | 
			ubnt-systool help | 
			Отображает все команды | 
		
		
			| ubnt-systool cputemp | 
			ubnt-systool cputemp | 
			Отображает температуру процессора | 
		
		
			| ubnt-systool cpuload | 
			ubnt-systool cpuload | 
			Отображает загрузку процессора | 
		
		
			| ubnt-systool portstatus | 
			ubnt-systool portstatus | 
			Отображает статусы портов | 
		
		
			| ubnt-systool hostname | 
			ubnt-systool hostname  | 
			Устанавливает новое имя для хоста | 
		
		
			| ubnt-systool reboot | 
			ubnt-systool reboot | 
			Перезагрузить устройство | 
		
		
			| ubnt-systool poweroff | 
			ubnt-systool poweroff | 
			Выключить устройство | 
		
		
			| ubnt-systool reset2defaults | 
			ubnt-systool reset2defaults | 
			Сброс к заводским настройкам | 
		
		
			| ubnt-device-info summary | 
			ubnt-device-info summary | 
			Отображение системной информации | 
		
		
			| ubnt-tools ubnt-discover | 
			ubnt-tools ubnt-discover | 
			Отображение устройств UniFi в сети | 
		
		
			| cat /mnt/data/udapi-config/dnsmasq.lease | 
			cat /mnt/data/udapi-config/dnsmasq.lease | 
			Отображение арендуемых DHCP адресов | 
		
		
			| cat /mnt/data/udapi-config/unifi | 
			cat /mnt/data/udapi-config/unifi | 
			Отображение конфигурации | 
		
		
			| /etc/init.d/S95unifios restart | 
			/etc/init.d/S95unifios restart | 
			Перезапуск web-интерфейса Unifi OS | 
		
	
Команды доступа к логам
В UniFi есть множество логов, которые помогут избавиться от ошибок.
	
		
			| Команда | 
			Описание | 
		
		
			| cat /var/log/messages | 
			Вывод лога ошибок | 
		
		
			| tail -f /var/log/messages | 
			Отображение в реальном времени появляющихся в логе ошибок новых строк | 
		
		
			| cat /mnt/data/unifi-os/unifi-core/config/settings.yaml | 
			Вывод настроек сервера | 
		
		
			| cat /mnt/data/unifi-os/unifi-core/logs/discovery.log | 
			Лог обнаружения оборудования | 
		
		
			| cat /mnt/data/unifi-os/unifi-core/logs/system.log | 
			Системный лог | 
		
		
			| cat /mnt/data/unifi-os/unifi/logs/server.log | 
			Лог серверных событий | 
		
		
			| cat /mnt/data/unifi-os/unifi-core/logs/errors.log | 
			Ошибки http | 
		
	
Заключение
Поскольку устройства UniFi работают на системе, которая является дистрибутивом Linux, на них будет работать большинство Linux-команд. Также работает автозаполнение через Tab, а двойной Tab отображает список возможных окончаний.
Имейте ввиду, что обращение через интерфейс Unifi Controller перезапишет большинство установок, сделанных непосредственно на устройстве.