深入探讨:Node.js、Vue、SSH服务与SSH免密登录
warning:
这篇文章距离上次修改已过190天,其中的内容可能已经有所变动。
// 引入所需模块
const { Client } = require('ssh2');
// 创建SSH客户端实例
const conn = new Client();
// 连接到SSH服务器
conn.on('ready', () => {
console.log('Client :: ready');
// 执行远程命令
conn.exec('echo "Hello from SSH2!"', (err, stream) => {
if (err) throw err;
// 处理远程命令的输出
stream.on('data', (data) => {
console.log('STDOUT: ' + data);
}).stderr.on('data', (data) => {
console.log('STDERR: ' + data);
});
// 命令执行完毕
stream.on('close', () => {
console.log('Stream :: close');
// 断开连接
conn.end();
});
});
}).connect({
host: 'ssh.server.com',
port: 22,
username: 'nodejs',
privateKey: require('fs').readFileSync('/path/to/nodejs.pem')
});
这段代码展示了如何使用Node.js的ssh2模块与SSH服务建立连接,并执行一个远程命令。它使用了SSH密钥进行认证,这是一种更为安全的方式,避免了将密码硬编码或存储在文件中的需求。这种方法对于自动化运维脚本和需要频繁交互的应用程序是一个有价值的工具。
评论已关闭