conn . on ( 'ready' , async ( ) => { // 准备就绪 const readyMsg = ` ++++++++Client :: ready: ${ ip } ++++++++ ` ; conn . exec ( shellCmd , async ( err , stream ) => { // 执行 if ( err ) { // 异常抛出 const errorMsg = 'shellCmd ERROR: ' + err . toString ( ) ; ctx . logger . info ( errorMsg ) ; return ; stream . on ( 'close' , async ( code , signal ) => { // 结束 code: 代码 signal: 信号 const log = 'Stream :: close :: code: ' + code + ', signal: ' + signal ; if ( code !== 0 ) { const signalMsg = ` 脚本异常退出code: ${ code } ,异常信号signal: ${ signal } ` ; ctx . logger . info ( signalMsg ) ; conn . end ( ) ; // 程序执行成功 // 自己的业务逻辑.... conn . end ( ) ; } ) . on ( 'data' , async data => { // 数据 程序执行中echo出的数据 const dataStr = 'STDOUT: ' + data . toString ( ) ; ctx . logger . info ( dataStr ) ; } ) . stderr . on ( 'data' , async data => { // 标准错误 const dataStr = 'STDERR: ' + data . toString ( ) ; ctx . logger . info ( dataStr ) ; } ) ; } ) ; } ) . on ( 'error' , async err => { console . log ( 'Client 链接错误' + err . toString ( ) ) } ) . connect ( { host : '127.0.0.1' , port : 8080 , username : username , password : password , readyTimeout : 5000 , // 握手超时实现限制 - 暂时设置5s } ) ; import { Client } from 'ssh2';const shellCmd = 'cd /xxxx/xxxx/ xxxx/ sh xx.shell';const conn = new Client();conn.on('ready', async() => { // 准备就绪 const readyMsg = `++++++++Client :: ready: ${ip} ++++++++`; conn.exec(shellCmd, async (err 1 //前台命令下发 2 app.get('/test/fileDownload', function (req, res) { 3 var downloadPath = req.query.downloadPath; 4 con...
最近在做自动化测试的时候,需要用到 node js ssh2 模块将windows上的文件传到linux机器上,由于网上别人封装的 ssh2 -util模块实在不好用,不是下载文件夹之后无法退出,就是下载不下来。可能是我自己用法不对的缘故,由于我没有学过JS,很多不懂,所有用 ssh2 更加不好用,每次我都想说一句:"好恼火"。 好了,吐槽完毕,接下来写写我封装的基本功能。仅仅实现了运行linux的shell
大家好,我是若川。我持续组织了近一年的源码共读活动,感兴趣的可以点此扫码加我微信lxchuan12参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》包含20余篇源码文章。历史面试系列。另外:目前建有江西|湖南|湖北籍前端群,可加我微信进群。本文来自读者@凌览 投稿,欢迎大家投稿???????????????????????? 原文链接:https://juejin.cn/...
-v10.16.0或更高版本节点v12.0.0或更高版本,以支持Ed25519键 (可选)将设置为可选的程序包依赖项(您不需要显式/独立于 ssh2 进行安装),将在可能的情况下自动生成并 使用 。 有关其自身的要求,请参见项目的文档。 该插件当前用于帮助生成最佳的默认密码列表 npm install ssh2 在服务器上执行“正常运行时间” const { readFileSync } = require ( 'fs' ) ; const { Client } = require ( ' ssh2 ' ) ; const conn = new Client
基于electronic / ssh2 / node -pty / xterm / antd / subx和其他库的Terminal / ssh / sftp客户端(Linux,Mac,Win)。 作为终端/文件管理器或ssh / sftp客户端(类似于xshell) 全局热键以切换窗口可见性(类似于guake,默认值为ctrl 2) 多平台(Linux,Mac,Win) multi支持多种语言(electerm-locales,贡献/修复欢迎) 双击直接编辑远程文件(小的)。 使用 内置编辑器(小的)编辑本地文件。 使用 公钥密码进行身份验证。 Zmodem(rz,sz)。 透明窗口(Mac,Win)。 终端背景图像。 全局/会话代理。 将书签/主题/快速命令同步到GitHub Secret Gist