node.js - NodeJS SSH 连接
问题描述
我正在寻找一种使用 NodeJS 以编程方式通过 SSH 连接到我们的一个远程服务器的方法。但是,每当我们通过 SSH 连接到服务器时,我们都需要输入 1-Time Code 作为额外的安全功能。我目前正在使用simple-ssh。请帮我。谢谢。
解决方案
您可以使用 来执行此操作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);
});
});
单击此处获取详细示例。
推荐阅读
- c# - C# 从包含 UTF-8 文本的 byte[] 数组中删除重音符号(变音符号)并进行比较
- axios - 如何使用 Nuxt.js 将 Vuex 变量传递给 axios?
- python - 为什么概率出现在 x 轴上?如何在 y 轴上移动概率
- angular - 如何在每个或 http 请求上调用微调器
- debian - 无法禁用透明大页面 (THP):没有这样的文件或目录
- javascript - TinyMCE 在 Blazor 页面中消失
- c++ - ImpersonatedLoggedOnUser 和 LogonUser 无法正常工作
- java - 并行运行空手道测试的方式 - 问题
- http - 在 www-authenticate 标头中指定多个身份验证方案
- r - 在 R 中构建特定的值组合;改变一个变量,保持所有其他变量不变