Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
SSH к устройствам Unifi protect, UniFi Protect
 
Привет. Опция SSH-доступа к камерам, добавленным в UniFi Protect на UDM Pro, была удалена?
 
Как я уже говорил, если ты получаешь ошибку "connection refused", значит не удалось включить SSH. В командах, которые я показал в своём предыдущем сообщении, была ошибка. Я удалил их из того сообщения и переписал ниже. Я проверил их на своём UDM-Pro. Вот как это выглядело при их выполнении...  
root@UDM-Pro:~# ssh ubnt@192.168.40.12  
ssh: connect to host 192.168.40.12 port 22: Connection refused  
root@UDM-Pro:~# if [ -f /srv/unifi-protect/config.json ]
> then  
>    cp /srv/unifi-protect/config.json /srv/unifi-protect/config.json.sav  
>    jq '.enableSsh=true' /srv/unifi-protect/config.json.sav > /srv/unifi-protect/config.json  
> else  
>    jq --null-input '.enableSsh=true' > /srv/unifi-protect/config.json  
> fi  
root@UDM-Pro:~# cat /srv/unifi-protect/config.json  
{  
 "enableSsh": true  
}  
root@UDM-Pro:~# cat /srv/unifi-protect/config.json.sav  
cat: /srv/unifi-protect/config.json.sav: No such file or directory  
root@UDM-Pro:~# systemctl restart unifi-protect && sleep 10  
root@UDM-Pro:~# ssh ubnt@192.168.40.12  
The authenticity of host '192.168.40.12 (192.168.40.12)' can't be established.  
ECDSA key fingerprint is SHA256:g9OVVXn+6BPbJsdJpkUHm6c2EfoUGmv4rtKR/7YhrQw.  
Are you sure you want to continue connecting (yes/no)? ^C  
root@UDM-Pro:~#  
Если ты знаешь, что файла не существует (по умолчанию на UDM-Pro его нет) или просто хочешь его перезаписать, можно выполнить всего две команды, чтобы создать файл с нужным значением и перезапустить protect.  
root@UDM-Pro:~# jq --null-input '.enableSsh=true' > /srv/unifi-protect/config.json  
root@UDM-Pro:~# systemctl restart unifi-protect && sleep 10  
Обрати внимание: sleep нужен, чтобы убедиться, что ты подождал достаточно времени, пока камеры завершат подготовку, прежде чем пытаться войти. Этого времени может быть достаточно, а может и нет.
 
Я попробовал команду ниже, но не смог войти в систему ssh -o HostKeyAlgorithms=ssh-rsa,ssh-dss ubnt@"мой IP-адрес камеры" Если я использую команду ниже, то вижу, что она работает в Терминале для доступа по SSH к моему UDM Pro, что выглядит для меня так же, но без перехода на вторую строку ssh -o HostKeyAlgorithms=ssh-rsa,ssh-dss root@"мой IP-адрес UDM Pro" Если я пытаюсь подключиться по SSH к моему дверному звонку через ubnt@"мой IP-адрес дверного звонка", то получаю следующую ошибку ssh: connect to host "мой IP-адрес дверного звонка" port 22: Connection refused
 
@travis.vitek Очень ценю твой развёрнутый ответ и время, которое ты на это потратил. Понимаю, что если использовать SSH бездумно, то можно очень быстро вляпаться в серьёзные неприятности и нанести непоправимый урон моему UDM Pro. Причина, по которой я хотел зайти в систему через SSH, — это доступ к дверному звонку G4, чтобы сменить мелодию. Сам звонок мне нравится, но иметь только один вариант «динь» из трёх нот — это просто смешно, и крайне раздражает, что у Ubiquiti нет возможности сменить её самому. Ещё раз спасибо за твой совет и предупреждение 👍
 
Как я уже говорил выше, SSH — это инструмент для удаленного входа на устройство. У вас есть UDM-Pro. Как вы, судя по всему, уже поняли, это устройство является вашей консолью UniFi Network. Если только у вас нет NVR или UNVR, о которых вы умалчиваете, это также ваша консоль UniFi Protect… одно и то же устройство управляет и UniFi Network, и UniFi Protect, так что есть только одно физическое устройство, к которому можно подключиться по SSH.  

Так что вернемся немного назад. На какое устройство вы на самом деле пытаетесь зайти по SSH и зачем?  

Судя по всему, вы уже лезете не в свои дела, выполняя эти команды, так что это выглядит довольно рискованно — подключаться куда-то через SSH. Это ваше оборудование, и вы вольны делать с ним что хотите, но есть риск всё испортить, а потом вам понадобится помощь, чтобы всё восстановить.  

Я уже ответил на это выше. Вот вставка соответствующей части того сообщения.  

Если объяснять проще: команды, которые вы пытаетесь выполнить, включают SSH-доступ к устройствам Protect (камерам). Если вы хотите зайти на камеру по SSH по какой-то причине — вы на правильном пути. Если вы не хотите заходить на камеру по SSH, перестаньте читать это сообщение и займитесь чем-то другим.  

Если вы всё еще здесь, то я предполагаю, что вы действительно хотите подключиться по SSH к устройству Protect.  

Вы говорите, что не уверены, удалось ли вам внести изменения в этот файл. Скриншот показывает содержимое файла, и это содержимое соответствует тому, что вы получили бы, если бы правильно использовали любой из методов. Кроме того, лучший способ проверить — это протестировать, как я предлагал во вставке выше: попробуйте удаленно подключиться к устройству по SSH.  

ssh -o HostKeyAlgorithms=ssh-rsa,ssh-dss
 ubnt@"IP-адрес моей камеры"

Если появится запрос пароля — вы выполнили шаги правильно. Если появится ошибка «connection refused» — значит, нет.  

Всю эту строку можно вставить в Терминал. Всё, что после #, является комментарием — можно удалить, но это ничего не испортит.
 
@travis.vitek Огромное спасибо за такой подробный ответ 👍 Спасибо за совет, что пароль Ssh Protect — это код восстановления, я бы никогда об этом не догадался 👍 Да, я могу подключиться по Ssh к консоли сети, но не к Protect. Я правда не знаю, удалось ли мне включить Ssh в json-файле, и это меня реально ставит в тупик. Я совсем запутался в твоих инструкциях ниже и не понимаю, какие строки мне вводить в терминал, а что просто твои пояснения 😛 # create a valid json file if it doesn't already exist
if [ ! -f /srv/unifi-protect/config.json ]
then
   echo "{}" > /srv/unifi-protect/config.json
fi

# insert/update enableSsh attribute and save the change
data="$(jq '.enableSsh=true' > /srv/unifi-protect/config.json)" &&
   echo -E "${data}" > /srv/unifi-protect/config.json

# restart protect
systemctl restart unifi-protect
 
Похоже, вы можете подключаться по SSH к консоли UniFi Network и, возможно, к устройствам UniFi Network (точки доступа, коммутаторы), но у вас возникают проблемы с подключением к устройствам UniFi Protect (камерам). Если вы пытаетесь зайти по SSH на устройство UniFi Protect, вам нужно изменить настройки и перезапустить службу Protect, как описано выше. До выполнения этих шагов попытка SSH-подключения к камере приведет к ошибке «Connection refused». После их выполнения устройства должны начать принимать SSH-соединения, и вы увидите приглашение на ввод логина. Если вы видите приглашение на ввод логина, значит, шаги выше сработали. Я почти уверен, что у вас проблемы с авторизацией. Скорее всего, это связано с тем, что имя пользователя и пароль для принятых в систему устройств UniFi Protect отличаются от имени пользователя и пароля для принятых устройств или консолей UniFi Network. В консоли имя пользователя — root, а пароль задается в настройках UniFi OS. Для принятого сетевого устройства UniFi имя пользователя и пароль находятся в настройках UniFi Network в разделе «Device Authentication». Для принятых устройств UniFi Protect имя пользователя — ubnt, а пароль — это код восстановления, указанный в настройках UniFi Protect.
 
Спасибо @travis.vitek Я могу подключиться по SSH к своей сети через ssh -o HostKeyAlgorithms=ssh-rsa,ssh-dss root@ "мой IP-адрес UDM Pro", но я не могу зайти по SSH в Protect. Вся эта ерунда в Терминале для меня китайская грамота 🙃
 
Похоже, у тебя это уже есть в конфигурационном файле, просто нужно сохранить и закрыть nano. Также учти, что для редактирования nano устанавливать не обязательно. Если разберёшься, как из него выйти, vi предустановлен почти везде. Можно также использовать консольные утилиты вроде jq, чтобы сделать это за тебя.
 
@UI-Glenn Как мне "Затем добавьте это в файл:"{
"enableSsh": true
}
Страницы: 1
Читают тему (гостей: 1)