前言
在部署流程后或者安装更新节点后需要重启nr,一般是进docker管理界面或者进宿主机的ssh进行重启,作为懒癌患者必须把重启放在nr里,鼠标点一点就可以完成重启操作(同样适用于其他ssh操作),本文以重启docker版的NodeRED为例进行分享。
准备
1、需要nr的docker安装软件sshpass(我的docker已经在nr官方的基础上安装sshpass,可直接使用jeesa/node-red-ffmpeg)
2、直接使用nr自带的exec节点
3、挂载/usr/src/node-red/.ssh文件夹
4、需要执行的命令的终端ip和ssh命令,例如:ssh root@192.168.2.6 ‘docker restart nodered’
使用
在docker运行时增加ssh证书文件夹挂载,例如:
nodered:
image: jeesa/node-red-ffmpeg:latest
container_name: nodered #可修改为自己好记的名字
network_mode: "host"
volumes:
- /opt/nodered/data:/data
- /opt/nodered/ssh:/usr/src/node-red/.ssh
environment:
- TZ=Asia/Shanghai
restart: always
获取一次目标主机ssh证书
需要先进入docker 连接一次目标主机,以获取ssh证书
使用docker exec -it nodered /bin/bash进入docker,其中noedered为docker名与container_name一致
或者使用partainer的控制台

进入docker后,先使用ssh连接目标主机,例如:ssh root@192.168.2.1,在询问时输入yes后确认,如下图:

此操作完成即可退出,后续再通过ssh远程此目标主机不会再提示证书问题了。
NR中增加控制节点
关闭终端即可,进入nr的web界面,增加exec节点

打开节点,在命令中输入 sshpass -p+密码 (-p和密码中间没有空格),
在追加中输入要执行的ssh命令,例如:ssh root@192.168.2.6 'docker restart nodered’,如下图


完成后增加触发,时间戳无需任何修改,追加与exec节点连接即可

结尾
至此已完成nr中操作ssh的功能,如需重启nr直接点一下时间戳就可以完成重启,非常方便。同时因为此操作过于简单,流就不分享了,还有其他功能也可以使用此方法。
本文无任何技术可言,仅分享一下个人的使用技巧,起到抛砖引玉的作用,望各位大佬可以开发出更多更有趣实用的玩法。