gpt4 book ai didi

node.js - Node js 的 ssh2 中的客户端方法 "exec"是否有同步等效项?

转载 作者:行者123 更新时间:2023-12-05 07:39:55 26 4
gpt4 key购买 nike

我已经在 node js 中使用 ssh2 连接到远程机器。
现在我想在远程机器上同步运行命令。

var Client = require('ssh2').Client;


var conn = new Client();
conn.on('ready', function() {
console.log('Client :: ready');
conn.exec('uptime', function(err, stream) {
if (err) throw err;
stream.on('close', function(code, signal) {
console.log('Stream :: close :: code: ' + code + ', signal: ' + signal);
conn.end();
}).on('data', function(data) {
console.log('STDOUT: ' + data);
}).stderr.on('data', function(data) {
console.log('STDERR: ' + data);
});
});
}).connect({
host: '192.168.100.100',
port: 22,
username: 'frylock',
privateKey: require('fs').readFileSync('/here/is/my/key')
});

这样我就可以以异步方式执行它。如果有任何功能等同于同步的“exec”。

最佳答案

使用 conn.shell 而不是 conn.exec。使用 shell 方法,您可以启动交互式 shell session 。

这里有一个例子:

https://github.com/mscdex/ssh2#start-an-interactive-shell-session

关于node.js - Node js 的 ssh2 中的客户端方法 "exec"是否有同步等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46708111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com