问题标签 [perlnetssh]

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 投票
0 回答
440 浏览

perl - Perl:Net::SSH::Perl,使用密码和公钥进行身份验证

我正在使用 Net::SSH::Perl,它适用于密码或公钥身份验证。但是,如果我尝试同时使用这两种方法,它就会很困难。

但是,如果我使用 OpenSSH 客户端 ssh 或 sftp 尝试它,它运行良好。

继承人代码和日志。


这就是控制台客户端 sftp 的调试日志,它工作正常。

欢迎任何帮助或建议,谢谢!

0 投票
0 回答
265 浏览

perl - 寻找带有交互式屏幕的 Net::SSH2 身份验证。Perl

我正在尝试访问远程 unix 节点的 shell。我需要完成它的登录过程。

第 1 步:登录屏幕要求我输入“开始”,然后出现以下屏幕我需要选择最后一个选项才能进入密码提示

第 2 步:要获得密码提示,我需要按两次“向下箭头键”,然后按 Enter。即选择“控制台终端访问”选项。

我正在使用 Perl Net::SSH2 模块来实现这一点。

我需要使用“auth”方法或“auth_password_interact”方法。我在实现回调部分时遇到了困难。可以处理上述登录过程并在密码提示时发送密码的地方

我已经尝试过下面的代码,任何人都可以帮助我了解如何在此处实现交互部分。

“这里需要帮助”

我在任何地方都找不到这种实现的任何例子。

0 投票
0 回答
67 浏览

perl - 怎样才能弃用 Net::SSH->poll 避免

Net::SSH2->投票文档:

不推荐使用:不推荐使用 libssh2 中的轮询功能,并且忽略其使用。会话方法“sock”和“block_directions”可用于将 Net::SSH2 集成到外部事件循环中。

有人可以举例说明如何使用“sock”和“block_directions”来代替不推荐使用的 poll 函数吗?

0 投票
1 回答
84 浏览

perl - 阻止 NET::SSH2 打印不需要的数据

我正在尝试使用 NET::SSH 从 perl 在远程 Ubuntu 系统中执行命令。我得到了所需的输出,但脚本正在打印大量不需要的数据。我们如何才能阻止它。提前致谢。

这是示例不需要的数据(每次执行都会打印数百次)。

我的代码是

0 投票
0 回答
54 浏览

perl - Perl NET::SSH2 让通道处于活动状态

我需要在远程主机上执行 shell 脚本并等待它,但管道在 30 分钟后被破坏。我正在使用 NET::SSH2。

如何让 ssh 通道处于活动状态?

我试过了:

  • $ssh2->keepalive_config( 1, 2000);管道破裂,30 分钟后 (1800)
  • $ssh2->keepalive_send;

如何在此超时内等待远程脚本?

谢谢你。

0 投票
1 回答
357 浏览

perl - 使用 Par::Packer 和包含 Net::SSH2 的脚本创建的 .exe 不起作用

我在我的 Perl 脚本中使用 Net::SSH2 模块并尝试使用 Par::Packer 制作可执行文件(Windows 的 .exe)。该脚本需要使用公钥从 Windows 框 ssh 到 linux 框,并且不想输入密码。

运行.exe时遇到以下错误

无法为模块 Net::SSH2 加载“C:\Users...\AppData\Local\Temp\par-73656172756d7567616d\cache-a6d57d5a234829aae84d08c4a78a09ad307ea8d3\a9057da2.xs.dll”:加载文件:找不到指定的模块C:/Strawberry/perl/lib/DynaLoader.pm 第 193 行。在 C:/Strawberry/perl/vendor/lib/PAR/Heavy.pm 第 123 行。

尝试使用以下方法解决,但没有一个有效

  1. 试图从 Strawberry Perl 的便携版本打包
  2. 尝试在使用 Par::Packer 打包时链接 a9057da2.xs.dll

是否有任何解决方法或修复方法可以使用 Net:SSH2 将 perl 脚本打包到 .exe。或者是否有 Net::SSH2 的替代品,用于使用公钥(不传递密码)从 Windows 到 Linux 的 ssh?

0 投票
1 回答
160 浏览

perl - 无法在远程机器上使用 Net::SSH::Expect 执行命令

我想建立远程连接并自动更改该远程机器中任何用户帐户的密码,所以我使用 Perl Net::SSH:: Expect 模块。我的连接正在发生,但我无法在远程机器上执行任何命令。我是 Perl 语言的新手,所以我的代码中可能存在一些错误。我曾尝试搜索此内容,但找不到与之相关的内容。

最初,我尝试结合使用 Net:: OpenSSH 和 Expect 模块,但无法实现用例。

这是我得到的输出

新更新

我尝试执行一个简单的命令来检查是否有任何命令正在执行。但是,我使用 send(passwd) 更改密码的用例不是。

这是我试图执行的新的简单命令

我从 send() 中删除了 die 的旧用例

现在输出是这样的

0 投票
0 回答
133 浏览

perl - Perl - SSHProcessError ssh 进程被终止错误

我已经构建了一个脚本,它将ssh对远程服务器执行某些命令。为了使执行成功,我一直等到END从命令结果中获取关键字。

因此,在积极的测试用例场景中,这可以正常工作。

但是当连接到远程主机成功并且命令执行失败时,会出现以下错误并从脚本中退出。

我们$ssh->waitfor($str, undef);在第 47 行。

我们如何解决这个问题?TIA。