node.js - nodejs在远程linux服务器上执行命令
问题描述
从 nodejs 我一直在尝试在远程服务器上执行 linux 命令并获取流中的输出以供进一步处理。为了连接到远程 linux 服务器,我有所有必要的详细信息,例如 serverip、用户名和密码。我在网上搜索了很多,发现这可以通过 ssh 来实现。
Nodejs ui页面可以运行shell cmd到远程机器并运行脚本吗
但是这个答案有点令人困惑,我不知道如何在连接中使用密码。
指向任何工作示例的指针都会有很大帮助。
解决方案
我自己解决了这个问题。有一个 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)
})
推荐阅读
- time - 由于 UTC 和我的时区,每天查询 InfluxDB 的特定时间,这些时间跨越不同的日子
- python - Selenium Webdriver 将非 html 结尾的本地文件解释为 html
- ruby - 可在块外访问的局部变量
- c# - Unity C# 数据库登录 w。播放器首选项不起作用
- rust - 从 HashSet 获取时发生不可变借用
- laravel - 无法为 Laravel 项目创建缓存目录
- python-3.x - 有没有比使用排序或循环更快的方法?
- angular - 未定义标识符“isDesktopDevice”。组件声明,模板变量
- javascript - 检查数字是否在循环模集范围内的优雅方法?
- android - 防止在单击按钮时关闭键盘