#node-red
Вопрос:
Я пытаюсь следовать этому руководству, чтобы создать логин для узла red.
Из того, что я могу собрать, администратор node-red встроен в node red, так зачем мне устанавливать пакет? Я получаю сообщение об ошибке при использовании обучающего кода при попытке
npm install -g --unsafe-perm node-red-admin
Терминал Linux эта команда работает из учебного кода:
node-red-admin hash-pw
Чтобы получить пароль hash
и sudo nano ~/.node-red/settings.js
, следуя руководству, раскомментировать правильные строки на моем конце, это выглядит так:
/** To password protect the Node-RED editor and admin API, the following
* property can be used. See http://nodered.org/docs/security.html for details.
*/
adminAuth: {
type: "credentials",
users: [{
username: "ben",
password: "supersecretP@$word",
permissions: "*"
}]
},
/** The following property can be used to enable HTTPS
* This property can be either an object, containing both a (private) key
* and a (public) certificate, or a function that returns such an object.
* See http://nodejs.org/api/https.html#https_https_createserver_options_requestlistener
* for details of its contents.
*/
А затем через nano записываем файл и выполняем sudo reboot
я не могу войти в систему с этим именем пользователя и паролем, есть идеи попробовать?
Комментарии:
1.
password
Поля должны быть хэшированы с помощью bcrypt. Ваш settings.js поле пароля хэшировано?
Ответ №1:
Пароль, который вы храните в своем settings.js файл должен представлять собой хэш, сгенерированный на основе вашего пароля. Вы можете сгенерировать этот хэш с помощью инструмента из вашей командной строки
узел-красный-хэш администратора-pw
или
узел -e «console.log(require(‘bcryptjs’).hashSync(process.argv[1], 8));» ваш пароль-здесь
После ввода вашего пароля появится строка хэша, скопируйте ее и вставьте в файл настроек:
adminAuth: {
type: "credentials",
users: [{
username: "ben",
password: "$2b$08$wuAqPiKJlVN27eF5qJp.RuQYuy6ZYONW7a/UWYxDTtwKFCdB8F19y",
permissions: "*"
}]
},
Это должно выглядеть примерно так.
Я предлагаю вам подробно ознакомиться со страницей документации, чтобы должным образом защитить ваш экземпляр node-red, прежде чем открывать его для публичного использования.
Ответ №2:
Здесь это неправильно:
adminAuth: {
type: "credentials",
users: [{
username: "ben",
password: "supersecretP@$word",
permissions: "*"
}]
},
Это password
должен быть hash
не тот пароль, который я надеялся использовать для входа в Node Red.