ssh gatekeeper 脚本和系统调用

ssh gatekeeper 脚本和系统调用

我正在使用来自 calomel.org 的 openssh gatekeeper 脚本使其看起来像是双因素身份验证。

我尝试使用 curl 向本地主机发送随机生成的字符串(通过短信发送)。当我将修改后的custom_string子程序复制到单独的测试脚本中时,随机字符串可以正常到达,但在 gatekeeper 脚本中使用时则不起作用。

sub custom_string {
    $maximum = 999999;
    my $x = int(rand($maximum));
    system "curl http://localhost/sendAuth.php?authCode=".$x;
    $code = $x;
}

是不是因为我无法在网守脚本中使用系统命令,所以它不起作用?

也许我无法在脚本中使用网络功能?

TLDR:请告诉我我在哪些方面是无知的。

注意:我也愿意接受完成任务的建议,但这比了解我做错的事情要重要。

其他注意事项:我知道这rand()不是生成我想要的随机字符串的最佳方法。我正在草拟一个概念证明,一旦我的基本设计正确,我就会替换它。

答案1

你期望从中得到什么?我不明白为什么它不起作用……但有一件事你不是curl所做的就是以任何方式收集脚本中的结果。

也许是这样的:

my $response = `curl  http://localhost/sendAuth.php?authCode=".$x`;
print $response;

可能会做你想做的事吗?

虽然通常我建议使用LWPperl 中的模块进行 webby 类型的操作,而不是运行curl- 但在这种情况下这应该不是问题。

相关内容