是否可以使用node.js在ssh2shell或simple-ssh中运行脚本?

时间:2019-02-08 17:17:05

标签: javascript node.js ssh telnet

在上一个问题中,我问是否可以使用node.js从远程SSH会话运行telnet会话。我通常通过SSH腻子会话连接到linux服务器,然后telnet到另一个idirect /调制解调器。我想使用node.js以编程方式进行此操作。从收到的答案中,我了解到我必须运行期望脚本来执行所需的telnet命令。

是否可以使用ssh2shellsimple-ssh运行脚本?

2 个答案:

答案 0 :(得分:0)

这是完全可行的,据我所知,您想通过SSH连接到服务器,然后运行脚本吗?请详细说明。

有一些工具可以通过Node.js运行shell命令:  -ShellJS  -Exec-sh

要注意的一件事是,那些必须将脚本移植到其语法的工具,但它们仍然是shell命令,它们也提供错误处理。

答案 1 :(得分:0)

我使用了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}`)
    })
  })