首页 > 解决方案 > NodeJS SSH 连接

问题描述

我正在寻找一种使用 NodeJS 以编程方式通过 SSH 连接到我们的一个远程服务器的方法。但是,每当我们通过 SSH 连接到服务器时,我们都需要输入 1-Time Code 作为额外的安全功能。我目前正在使用simple-ssh。请帮我。谢谢。

标签: node.jsssh

解决方案


您可以使用 来执行此操作node-ssh,下面是一个简单的示例,它使用环境变量通过 SSH 连接到主机名服务器(基于 IP 或 DNS)并运行redis-cli命令来 ping。此外,我们通过 STDOUT 和 STDERR 读取输出:

const node_ssh = require('node-ssh');
const ssh = new node_ssh();

require('dotenv').config();

ssh
  .connect({
    host: process.env.SSH_host,
    username: process.env.SSH_user,
    privateKey: process.env.SSH_privatekey,
    passphrase: process.env.SSH_passphrase
  })
  .then(() => {
    ssh.execCommand('redis-cli ping', { cwd: '/var/www' }).then((result) => {
      console.log('STDOUT: ' + result.stdout);
      console.log('STDERR: ' + result.stderr);
    });
  });

单击此处获取详细示例。


推荐阅读