📜  要连接的随机 SSH - Javascript (1)

📅  最后修改于: 2023-12-03 15:41:33.638000             🧑  作者: Mango

要连接的随机 SSH - Javascript

在 web 应用程序中,连接到远程服务器是一项常见的任务。SSH 协议是一种加密的安全协议,用于在远程计算机上执行文件传输和远程命令。它使用公钥和私钥来验证连接,从而确保安全连接。

在 JavaScript 中,可以使用第三方库来连接 SSH 服务器。本文将介绍如何使用随机生成的 SSH 密钥对来连接到 SSH 服务器。

生成 SSH 密钥对
const NodeRSA = require('node-rsa');

const key = new NodeRSA({b: 512});  // 生成一个 512 位的密钥对

const privateKey = key.exportKey('private');
const publicKey = key.exportKey('public');

console.log('私钥:', privateKey);
console.log('公钥:', publicKey);

NodeRSA 是一个流行的加密库,可以用于生成 SSH 密钥对。以上代码将生成一个 512 位的 SSH 密钥对并输出其私钥和公钥(以字符串形式)。

连接 SSH 服务器
const SSHClient = require('ssh2').Client;
const node_ssh = require('node-ssh');

// 创建 SSH 客户端实例
const sshClient = new SSHClient();
const ssh = new node_ssh();

// 连接 SSH 服务器
const conn = sshClient.connect({
  host: 'your-ssh-server.com',
  port: 22,
  username: 'your-username',
  privateKey: privateKey
});

// 执行命令并输出响应
conn.then(() => {
  return ssh.execCommand('ls -lh', {cwd: '/path/to/remote/directory'});
}).then((result) => {
  console.log('STDOUT: ' + result.stdout);
  sshClient.end();
});

使用 ssh2 库创建 SSH 客户端实例,使用 node-ssh 库连接 SSH 服务器。以上代码将连接到远程 SSH 服务器,执行 ls -lh 命令,并输出其响应。

总结

本文介绍了如何使用 Node.js 和第三方库连接到随机 SSH 服务器。我们生成了随机 SSH 密钥对,并使用 ssh2node-ssh 库连接到 SSH 服务器并执行命令。这确保了安全连接,以便在 web 应用程序中执行文件传输和远程命令。