Для того, чтобы из панели управления сенсором получить доступ к веб-консоли консоли сенсора по SSH, необходимо установить дополнительное программное обеспечение.
Доступ организован при помощи отдельной утилиты webssh2, которая работает в режиме сервиса на node.js.
Для начала необходимо установить сам node требуемой версии:
curl -sL https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh -o install_nvm.sh
bash install_nvm.sh
source ~/.profile
nvm install v9.11.2
node -v
Затем устанавливаем и настраиваем webssh2:
apt install cmake
npm install bufferutil utf-8-validate
cd /home/qow/
wget -O webssh2.zip https://github.com/billchurch/webssh2/archive/refs/heads/main.zip
unzip webssh2.zip
mv webssh2-work webssh2
cd webssh2/app
npm install --production
cp config.json.sample config.json
nvm alias default v10.24.1
nvm use default
npm start
Настройка конфигурационного файла config.json сводится к указанию ключа privatekey (в виде одной длинной строки), и перечислению сетей, где установлены сенсоры в параметре allowedSubnets.
Затем в настройки вашего nginx необходимо добавить реверс-проксирование на порт 2222 (по умолчанию для webssh2):
location /ssh {
proxy_pass http://127.0.0.1:2222/ssh;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120;
proxy_connect_timeout 120;}