ssh2shell实现防火墙管理功能

本文介绍了如何通过nodejs开发一个接口,利用node-ssh和ssh2shell组件来实现对防火墙的命令行管理,以达到一键封堵功能。在遇到执行持续连接命令或需要键盘交互时,通过ssh2shell解决了连接卡住的问题。
摘要由CSDN通过智能技术生成

背景:
公司要实现防火墙联动功能,防火墙只能通过命令行控制,需要开发一个接口,实现一键封堵功能。
解决思路
接口使用nodejs开发,使用nodejs实现ssh功能,管理防火墙。
实现过程
npm组件node-ssh支持使用ssh命令,在linux测试通过
使用方法如下:

`const node_ssh = require('node-ssh');
 const ssh = new node_ssh();`
 return new Promise(( resolve, reject ) => {
            ssh.connect({
              host: ip,
              username: "username",
              password: "password",
              port:22 //SSH连接默认在22端口
            }).then(function () {
              ssh.execCommand(command, {}).then(function (result) {
                if (!result.stderr) {
                  resolve( result.stdout )
                }else{
                  reject(  result.stderr )
                }
              });
            }).catch(err=>{
              reject(  err )
              console.log('s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值