Подключите ssh-сервер через код nodejs с помощью ssh-ключа и имени сервера - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть доступ vpn, поэтому я могу ssh на сервер, выполнив команду с терминала

ssh qa-trinath01.my-qa

Он работает нормально с терминала.

Но с nodejs он не работает.мой код

var express = require("express");
var app = express();
var node_ssh = require('node-ssh')
var

ssh = new node_ssh()

ssh.connect({
        host: 'qa-trinath01.my-qa',
        username: 'tanantham',
        port: 27017,
        privateKey: '/Users/tanantham/.ssh/id_rsa'
    }).then(function() {
        console.error('Success: ');
    }).catch((error) => {
        console.error('ERROR: ', error);
    });;

app.listen(3001);

Я получаю вывод как

ERROR:  { Error: getaddrinfo ENOTFOUND qa-trinath01.my-qa qa-trinath01.my-qa:27017
    at errnoException (dns.js:50:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)
  code: 'ENOTFOUND',
  errno: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'qa-trinath01.my-qa',
  host: 'qa-trinath01.my-qa',
  port: 27017,
  level: 'client-socket' }

Может кто-нибудь предложить код nodejs для подключения к ssh, у меня есть только ssh-ключ и ssh-имя сервера.

ssh key ->  /Users/tanantham/.ssh/id_rsa
server name -> qa-trinath01.my-qa

1 Ответ

0 голосов
/ 04 декабря 2018

Вы пытались заменить «privateKey» на «пароль» и ввести свой пароль.Это, вероятно, не самый безопасный, но обычно работает.Если вы не используете свой закрытый ключ от id-rsa

ssh = new node_ssh()

ssh.connect({
        host: 'qa-trinath01.my-qa',
        username: 'tanantham',
        port: 27017,
        password: 'YourPasswordHere'
    }).then(function() {
        console.error('Success: ');
    }).catch((error) => {
        console.error('ERROR: ', error);
    });;

app.listen(3001);
...