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