问题标签 [phpseclib]

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 回答
1990 浏览

php - PHP Seclib 关闭连接 SSH

我正在使用 phpseclib 连接到我的服务器并运行 python 脚本。这是 phpseclib http://phpseclib.sourceforge.net/问题是,python 脚本是这样制作的,一旦你运行它就不能结束它。结束它的唯一方法是结束 ssh 会话。请不要问为什么会这样,说来话长……但是 ctrl+c 并没有结束它,除了结束会话之外什么都没有。我知道 phpseclib 应该在命令执行完成后自动关闭连接,但从技术上讲,我的命令在我结束会话之前永远不会执行,所以我需要 phpseclib 中的一个函数来结束 ssh 会话。我尝试在我的 php 脚本中使用 exit() 和 die(),脚本只是挂起(php 脚本),因为它认为它仍在执行命令,所以它不会超过那行代码。终止 php 代码(通过浏览器或命令行)也不会停止 python 脚本。如果有人可以提供帮助,那就太好了。谢谢!

0 投票
2 回答
1050 浏览

php - 使用 SSH2 获取启动进程的进程 ID - phpseclib

我正在使用 phpseclib,Net_SSH2。

我需要获取由此命令启动的服务器/进程的进程 ID。

这样我就可以存储它并随时通过 PHP 脚本杀死它。

0 投票
3 回答
2522 浏览

php - phpseclib - 无法连接到思科交换机

我正在尝试使用 phpseclib 连接到 cisco SF308 交换机。我正在使用这个库成功连接到一些 HP 交换机,但由于某种原因,它无法与我的 cisco 一起使用。这是代码:

它总是因登录失败错误消息而死。

我已经尝试在 NET_SSH2 库本身中添加一些调试语句,并且它以错误号 51 终止,它被定义为“NET_SSH2_MSG_USERAUTH_FAILURE”。

hp 交换机和这个 cisco 之间的不同之处在于,当手动连接时,hp 足够“智能”,可以从初始 ssh 命令中获取用户名。例如,如果您要在命令提示符下执行此操作:

然后回车,它会选择“用户名”作为用户名,它只会提示你输入密码。使用 cisco 交换机(型号为 SF302-08),它仍然提示输入用户名和密码。一旦我第二次提供用户名,然后输入密码,我就可以连接到交换机。

我不确定这是否是导致问题的原因,但这两个开关之间明显不同。我正在尝试为 cisco 查找一些文档,以查看是否有任何方法可以更改/使其在初始连接请求中获取用户名。但如果您有任何其他建议,请告诉我!我全是耳朵。

谢谢。

编辑 1

我打开了复杂的日志记录并获得了失败的全部细节,以防万一这有帮助。这是我的最新代码:

这将返回以下输出:

所以它正在联系交换机,但正如我在最初的帖子中提到的那样,它在尝试验证用户名/密码时失败了。

0 投票
2 回答
2835 浏览

javascript - 如何使用 pidCrypt 进行 AES CBC 加密,然后使用 phpseclib 解密?

我需要使用 Javascript ( pidCrypt AES CBC ) 加密一个短字符串,然后使用 PHP ( phpseclib Crypt_AES CBC ) 对其进行解密。

各种库之间有很多不兼容的地方(尝试了很多,有些由于缺乏文档我什至无法开始使用),以至于我试图理解和克服它们(当前的“标准”只是不'不包括调试,乱码或简单的 afalse将返回不正确的使用)。

pidCrypt AES CBC 表示它使用的是 OpenSSL 兼容编码。

到目前为止,我不明白为什么 pidCrypt 的输出不会在 phpseclib 中被解密:

pidCrypt

phpseclib

我还尝试了 phpseclib AES CBC 模式“密钥派生:无”示例(setKey 和 setIV 而不是 setPassword),结果相同。

如何让 phpseclib 解码上述 pidCrypt AES CBC 输出?

或者

是否有 phpseclib 的替代品可以解密上述 pidCrypt 输出(具有代码 API;不允许使用 OpenSSL 使用示例)?

拜托,没有关于 Javascript 安全和网络安全的讲座。这并不是为了防止互联网/网络嗅探。

0 投票
1 回答
1081 浏览

php - phpseclib 验证签名失败

我不知道我做错了什么,或者我只是没有考虑清楚。我想签署一些文本并在此之后立即进行验证。我正在使用 phpseclib 的 RSA 签名算法。它有效,但现在我想测试如果我更改我之前签署的文本,验证是否失败。它不应该验证文本,因为它与原始文本不同。所以我写了一些代码并测试了10次。算法验证签名 4 次,失败 6 次。这不是很奇怪吗?这是我的代码。基本上我创建了一个公钥/私钥对,并且只使用了 phpseclib 中的函数。

0 投票
1 回答
159 浏览

php - phpseclib - 超时

首先我只想告诉你我已经搜索了大约4个小时没有找到任何解决方案,所以我决定在这里问。

我正在使用带有 Cygwin 的 Windows。

我向服务器发送了一个 SSH 命令,告诉它下载一些游戏服务器文件,这个过程可能需要 20 分钟才能完成,现在我的 php 页面超时了。我试过了,header (Location: URL);但它仍在等待服务器的响应,然后超时。所以..有什么方法可以强制客户端到另一个页面,并且仍然让其余的代码继续。

最好的问候,汤姆。

0 投票
1 回答
2121 浏览

php - phpseclib - 长命令超时和 $ssh->write(); 不工作

我正在使用 Cygwin 向 Windows 服务器发送命令。几天前我问了一个问题,但仍然没有答案。我对 phpseclib 有一个大问题,它是 $ssh->write(); 命令。我用过 $ssh->exec(); 但是发送到服务器的命令正在下载游戏服务器文件,这可能需要长达 20 分钟,一段时间后 php 页面超时,因为它超过了 FastCGI 超时设置。所以,我认为 $ssh->write(); 可以为我解决它,但我发送到服务器的命令没有得到执行。这是 exec 的命令和我尝试使用的 write:

并且此代码永远加载然后超时。我已经通过将 FastCGI 的超时设置更改为一小时来解决这个问题,这是最大值。此命令确实在服务器上执行。

这是我试图发送但不执行的写命令:

此命令不会在服务器上执行。回显它时我得到的响应是“1”。

非常感谢任何帮助!目前正在制作一个开源游戏服务器控制面板。

提前致谢!

最好的问候,汤姆。

0 投票
2 回答
1974 浏览

php - PhpSeclib <-> BouncyCastle RSA

我在服务器端使用 phpseclib 生成了一对公钥/私钥,例如

现在我想使用 Java Bouncy Castle 引擎在客户端导入公钥。
这是我的公钥

但我可以做到。我尝试了几种方法,但总是出错。

所有这些方式都会产生错误。

我应该如何使用 Java Bouncy Castle 引擎导入公钥?

0 投票
1 回答
800 浏览

php - 将 JavaScript RSA 函数转换为 PHP 函数

我在将基于 JS 的 RSA 文件转换为 PHP 时遇到问题。

JavaScript:

主文件:

我如何使用它:

现在我想把它转换成 PHP,到目前为止我已经尝试过:

但它总是打印一个“失败”,它有什么问题?

钥匙的样子:

CD5D11DFC04D457B864421AA483118EEA3A96C97E01ABFA4BAD356EC3CE6CA7E3F61665BAA1322D1D6C763D4463C1B41D69397281538D22302D8817CC10AEBDA96970DA4BA46BA79808E3B7BC3D38C1C2FD746E73EA5907F07C9588A1AF2C337FED1B7C8BB29304035420FB7EDE92511D1B07A63E21A5C36F132B556EE879113E88395ACCE9B987E478F8EA11B34634BCDA863DE7045EA9D7AB3240F406C572F36FDE1DB1534F92022B91DFBE23F980D0190D69953037EF9F38F98DA1A8028BE009CE82B979E8E427305802330111A78737D8E11C9CB132170CB34618941FA2AC2C754338886BFEE7DAD779036B292F9711DD9C765F37D42B6C0DC0BCCC83765

0 投票
1 回答
3515 浏览

php - PHP SFTP 简单文件上传

我正在使用 phpseclib - SFTP 类,并试图上传这样的文件 -

然而,该文件并没有被上传到里面some-dir,而是在之前上传了一个目录(到起始目录,假设它是根目录)。这让我发疯,我想我已经尝试了some-dir/or /some-diror的所有组合/some-dir/,但文件不会上传到那里。