问题标签 [ssh2-exec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
334 浏览

node.js - 我想在不关闭命令提示符/putty 的情况下终止命令进程

**我想在不关闭腻子/命令提示符的情况下终止“trai”命令的进程,或者如何在后台进程中运行相同的命令,或者在此代码中传递“CTRL+C”命令的位置,以便它退出命令 **

由于我是 NodeJS 的新手,如果我错了,请帮助我。

0 投票
0 回答
2672 浏览

node.js - nodejs - 错误:等待握手时超时

我正在使用使用 ssh2 npm 包的 remote-exec,我收到以下错误

错误:等待握手时超时

我正在运行的代码如下

显然我已经更改了用户名、密码和 IP,但您应该能够理解。

我试图查看类似的问题,但从我所看到的情况来看,没有一个有很好的工作答案。

谢谢!

0 投票
0 回答
257 浏览

php - 脚本不会等待进程以 ssh2_exec 和 stream_set_blocking 结束

我有两个脚本:

第一个包含以下代码:

第二个只包含以下代码:

我不明白为什么有时当我运行我的第一个脚本时,它会等待第二个脚本运行但有时没有。

例如,当它工作时,我有以下输出:

有时我有这个:

我还阅读了帖子ssh2_exec: wait end of a process to run next并且回答的人说“如果流没有被读取到结束,命令可能无法正确完成”。有人可以向我解释一下吗?

0 投票
4 回答
3244 浏览

java - 如果线程花费太长时间,如何结束执行器服务中的线程?

样本执行服务

这是我的执行程序服务的示例代码。但是,当我遇到无法连接或连接时间过长的服务器时,使用这种逻辑会在我的应用程序中创建一个挂起时间。如果连接时间超过 x 时间,我想结束/终止线程。如果线程任务在 2 秒内没有连接到服务器,我该如何终止它。

试图

我添加了以下代码,但如果它花费的时间超过 2000 毫秒,显然它不会结束线程。

尝试 2

0 投票
1 回答
1827 浏览

node.js - 如何在节点 JS 中通过 ssh 执行 sudo 命令?

我尝试了 remote-exec 和 node-ssh 包,但两者的结果都与下面提到的相同。

它返回错误:

[错误:554.xxx.xxx.xxx:sudo adduser testuser [退出 1]]

sudo:对不起,你必须有一个 tty 才能运行 sudo

请告知如何使用节点 js 运行 sudo 命令。

0 投票
1 回答
142 浏览

php - 我在 php 中使用 ssh2_exec 函数,为什么它不传递超过 3 个参数?

为什么ssh2_exec函数不传递三个以上的参数?

在这种情况下,只有$a $b $c通过而不是$d$e,我该如何解决?

0 投票
1 回答
51 浏览

php - 在 ssh2 邮件功能中包含 php 邮件标头。使用 ssh2 以 html 格式发送电子邮件

所以我使用 ssh2 发送电子邮件

但问题是,当我发送 html 消息时,与使用 php mail() 函数发送消息相比,它不会以 html 格式发送。我知道这是因为标题。

知道如何在我的 mailitnow 函数中包含 html 标头吗?提前非常感谢。

0 投票
1 回答
1362 浏览

node.js - xterm.js + ws + ssh2 不向 ssh 服务器传输终端调整大小信号 (SIGWINCH)

在这里改写我的问题。

我有一个使用“xterm.js”、“ws”和“ssh2”节点模块的网络应用程序。一切都很好。除了一件事:

SIGWINCH 窗口调整大小信号不会发送到 sshd 服务器或 ssh2 流。其他 sig、esc、ansi 工作正常。Esc[8 就消失了。

在真正的 xterm 中,echo -e "\e[8;30;120t"调整两端的终端大小。不在这里。sock.send("\u001b[8;30;120t")也不会做任何事情。

我的节点应用服务器上的 Console.log 显示 Escape[8(或 \e、\u001b 或 \x1b)没有成功。其他转义码有效——箭头、鼠标点击等。

我可以在客户端上执行 term.resize(x,y) ,但目前必须在服务器上使用 stty 。SSH2 的 pty 仅在登录时设置它们。如何传播 SIGWINCH?它被困在哪里?

0 投票
0 回答
70 浏览

php - 使用 PHP 和 MySQL 按顺序执行脚本

我有一个网站,允许用户从单选按钮中选择测试脚本,并在将所需的测试提交到远程服务器后,使用 PHP:

  1. 它在 test_activity_log 表中向 MySQL 数据库中插入一行,其中包含 id、用户名、测试名称、网关名称和时间戳。
  2. 然后它发送一个ssh2_exec在远程网关上执行所需的脚本

上面的所有东西我已经开始工作了,但是,在多个用户同时从网页执行脚本的情况下,我需要找到一种方法将它们按顺序排列并一个接一个地执行。最好的方法是什么?

任何想法将不胜感激。

编辑:

测试程序文件

0 投票
1 回答
527 浏览

php - PHP 使用 ssh2_exec 执行带有查询参数的脚本

我正在尝试从服务器执行脚本,从 MySQL 查询中检索参数并存储到$test有没有办法将其用作我的脚本的参数?我也有一个存储在参数中的脚本$script

所以我正在寻找的是这样的:$stream = ssh2_exec($connection, '/my/path/to/script/script.sh $test');$test不能在引号内。