Можно ли запустить скрипт с помощью ssh2shell или simple-ssh, используя node.js? - PullRequest
0 голосов
/ 08 февраля 2019

В предыдущем вопросе я спросил, возможно ли запустить сеанс telnet из удаленного сеанса SSH с помощью node.js.Обычно я подключаюсь к серверу Linux через сеанс замазки SSH, а затем через telnet к другому idirect / модему.Я хотел бы сделать это программно, используя node.js.Из полученного ответа я понимаю, что должен выполнить ожидаемый сценарий для выполнения необходимых команд telnet.

Можно ли запустить скрипт с помощью ssh2shell или simple-ssh?

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Я использовал node-ssh.

Вы можете подключиться к экземпляру и использовать его следующим образом:

let sshConnection = ssh.connect({
    host: <host>,
    username: <username>,
    privateKey: '/path/to/id-rsa'
  })

  sshConnection.then(() => {
    ssh.putFile('./script.py', '/tmp/script.py').then(() => {
      log('The File thing is done')
    }, (error) => {
      log('Somethings wrong', error)
    })
  })

  sshConnection.then(() => {
    ssh.execCommand(`echo hello-world`, { cwd: '/home' })
    .then((result) => {
      log(`result.stdout = ${result.stdout}`)
      log(`result.stderr = ${result.stderr}`)
    })
  })

0 голосов
/ 08 февраля 2019

Это вполне выполнимо, из того, что я понимаю в вашем вопросе, вы хотите подключиться через SSH к серверу, а затем запустить скрипт?Пожалуйста, уточните немного.

Есть несколько инструментов для запуска команд оболочки через Node.js: - ShellJS - Exec-sh

OneСледует отметить, что эти инструменты должны переносить ваш сценарий на их синтаксис, но они все еще являются командами оболочки, они также предлагают обработку ошибок.

...