首页 > 解决方案 > nodejs在远程linux服务器上执行命令

问题描述

从 nodejs 我一直在尝试在远程服务器上执行 linux 命令并获取流中的输出以供进一步处理。为了连接到远程 linux 服务器,我有所有必要的详细信息,例如 serverip、用户名和密码。我在网上搜索了很多,发现这可以通过 ssh 来实现。

Nodejs ui页面可以运行shell cmd到远程机器并运行脚本吗

但是这个答案有点令人困惑,我不知道如何在连接中使用密码。

指向任何工作示例的指针都会有很大帮助。

标签: node.js

解决方案


我自己解决了这个问题。有一个 npm 包 (ssh-exec) 可用于 ssh 命令执行。下面是我使用的代码。

var exec = require('ssh-exec')
var v_host = 'XX.XX.XX.XXX'
exec('ls -lh', {
  user: 'root',
  host: 'XX.XX.XX.XXX', 
  password: 'password'
}).pipe(process.stdout , function (err, data) {
    if ( err ) { console.log(v_host); console.log(err); }
  console.log(data)
})

推荐阅读