如何解决使用 Parallel::Forkmanager 时的 Net::SSH::Expect “SSHAuthenticationError Login timed out”问题?

2024-02-03

当我使用 Parallel::Forkmanager 完成远程 ssh 的并行过程时,如果远程设备无法访问,我会遇到“SSHAuthenticationError Login timed out”问题,然后 STDOUT 完全混乱。 那么我该如何解决这个混乱的 STDOUT 问题呢? 为什么我们可以使用 eval{ ssh 操作 } 来解决? 谢谢。


你可以试试网络::OpenSSH https://metacpan.org/pod/Net%3a%3aOpenSSH,它甚至可以让您在所有主机上并行运行操作,而无需太多麻烦。

您也可以尝试增加timeout.

另一种可能的解决方案可能如下所示

my $retry_count = 0;
  while(1){
    $rc = eval{$ssh->login();};
    last if defined $rc;
    last if $retry_count >= $max_retry_count;
    $retry_count++;
    sleep 1;
  }

另请参阅:如果主机无法访问,Net::SSH::Perl、Net::SSH::Expect 会导致脚本崩溃 http://www.perlmonks.org/?node_id=794847

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决使用 Parallel::Forkmanager 时的 Net::SSH::Expect “SSHAuthenticationError Login timed out”问题? 的相关文章

  • perl 和 java 正则表达式功能之间有什么区别?

    perl 和 java 在支持哪些正则表达式术语方面有什么区别 这个问题仅涉及正则表达式 并且特别排除了how可以使用正则表达式 即使用正则表达式的可用函数 方法 以及语言之间的语法差异 例如java要求转义反斜杠等 特别令人感兴趣的是 j
  • MPI 从文本文件中读取

    我正在学习 MPI 编程 我遇到了这个问题 假设我有一个包含 100 000 行 行的 txt 文件 如何将它们分块以供 4 个处理器处理 即我想让处理器 0 负责第 0 25000 行的处理 让处理器 1 负责第 25001 50000
  • 如何使用ssh直接连接远程docker容器

    我想直接使用 ssh 连接到远程运行的 Docker 容器 通常我可以 ssh i privateKey user host docker ps which will list all running containers docker e
  • Perl `join` 生成多行字符串

    我有这个程序来对两个数组进行排序 usr bin perl w movies movies txt open FHD movies die could not open movies n movies
  • Perl 中函数调用和 goto &NAME 有什么区别?

    我正在读 Perl 这很有趣 但读书时从这里转到 https www tutorialspoint com perl perl goto statement htm在 Perl 中我有一个疑问 我知道 goto 语句有三种类型 转到标签 转
  • 检查远程错误时出错 (val):5 个节点产生错误:未找到对象

    我尝试使用并行处理 parLapply 进行 10 倍交叉验证并估计联合模型的模型性能 我试图找出为什么我收到错误消息 checkForRemoteErrors val 中的错误 五个节点产生错误 未找到对象 Week 代码如下 Valid
  • Windows 上的 SSH 没有 kex aleg 问题

    我在 Windows 上安装了 OpenSSH 然而 我得到没有小桶阿尔格尝试连接到我的 Amazon EC2 实例时出现问题 我可以使用相同的身份文件通过 WinSCP 和 Putty 连接它 我还在我的 etc sshd config
  • Mojolicious:我应该使用一个还是多个 websocket?

    我正在自学 Mojolicious 和 websockets 到目前为止 我已经有了一个网页 它显示数据库中的行 并具有用于添加 删除和更新行以及选择用于排序的列的按钮 目前 它在每个按钮的 javascript onclick 处理程序中
  • 在 perl 中 \*STDIN 与 STDIN 相同吗?

    我是作者Python化者 https github com snoopyjc pythonizer我正在尝试将 CGI pm 的代码从标准 perl 库翻译为 Python 我在中遇到了这段代码从客户端读取 https metacpan o
  • 与 6 位随机字母数字代码发生冲突的概率是多少?

    我使用以下 Perl 代码生成随机字母数字字符串 仅限大写字母和数字 用作 MySQL 数据库中记录的唯一标识符 数据库的行数可能会保持在 1 000 000 行以下 但实际的绝对最大值约为 3 000 000 行 我是否有 2 条记录具有
  • Foreach循环无法找到对象

    我正在尝试将 foreach 与并行后端结合使用来加速计算 用于特征选择的 AUCRF 随机森林的交叉验证 如果这确实重要的话 在这样做的过程中 我需要获取向量的子集 向量的名称可以更改 但可以作为字符向量进行访问 我使用 eval par
  • 并行 Haskell - GHC GC 火花

    我有一个正在尝试并行化的程序 带有可运行代码的完整粘贴here http lpaste net 101528 我进行了分析 发现大部分时间都花在findNearest这本质上是一个简单的foldr超过一个大Data Map findNear
  • Perl:非阻塞管道 - 只收到一条消息

    几周前我问了一个关于实现非阻塞单父多子管道的问题 mob 巧妙地回答了这个问题here https stackoverflow com questions 52723489 perl one parent many children sin
  • Ansible bitbucket 克隆配置 ssh 错误

    总之 当使用 Ansible 配置我的 vagrant box 时 在尝试使用 ssh 克隆我的 bitbucket 私有存储库时 我遇到了一个神秘的错误 该错误指出 主机密钥验证失败 然而 如果我流浪 ssh 然后运行 克隆 命令 私有存
  • 通过 HTTPS 的隧道

    在我的工作场所 流量拦截器 防火墙变得越来越糟糕 我无法通过端口 22 连接到我的家用计算机 并且缺乏 ssh 访问权限让我感到难过 我以前可以通过将 SSH 移动到端口 5050 来使用它 但我认为最近的一些过滤器现在将此流量视为 IM
  • 为什么 Perl 找不到我在 ClearCase 中的文件?

    Perl 的这段代码告诉我 ClearCase 中的文件不存在 但它确实存在 x PATH TO FILE if e x print This file exists on the file system else print I can
  • Perl 正则表达式匹配模式的多个实例并替换

    我有一个看起来像这样的字符串 abc 1 2 3 something here foo 10 6 34 somethingelse here def 1 2 another 我想将此字符串拆分为一个数组 其中包含 abc 1 2 3 som
  • 收到“/:未找到事件。”使用 PyCharm 远程调试器时

    当我使用 PyCharm 通过 ssh 进行远程调试时tcsh shell 服务器 很多时候它停止工作 并显示 未找到事件 更具体地说 我在 pycharm 调试控制台中遇到以下内容 ssh username hostserver 22 p
  • Perl 三元条件运算符内部赋值问题

    我的程序中的这段 Perl 代码给出了错误的结果 condition a 2 a 3 print a 无论价值如何 condition就是 输出总是3 为什么呢 Perl 中对此进行了解释文档 http perldoc perl org p
  • 如何 grep 遍历数组,同时过滤掉匹配项?

    有没有一种快速简便的方法来 grep 遍历数组 找到满足某些测试的元素and从原始数组中删除这些 例如我想要 a 1 7 6 3 8 4 b grep filter gt 5 a now b 7 6 8 and a 1 3 4 换句话说 我

随机推荐