ssh看门人脚本和系统调用

我使用来自calomel.org的openssh守门员脚本来进行双因素身份validation。

我试图使用curl到本地主机通过短信发送一个随机生成的string。 随机string到达​​就好了,当我修改custom_string子例程复制到一个单独的testing脚本,但它不起作用时,在守门员脚本中使用。

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

它不工作,因为我不能使用网守脚本内的系统命令?

也许我不能在脚本中使用networkingfunction?

TLDR:请告诉我我无知的方式。

注意:我也愿意接受完成任务的build议,但是这对于了解我做错了什么是次要的。

其他注意事项:我知道rand()不是生成我想要的随机string的最佳方法。 我正在勾画出一个概念的certificate,一旦我的基本devise正确,将会取代它。

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

也许是这样的:

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

可能做你想要的吗?

虽然通常我会build议在perl中使用LWP模块进行webbytypes的操作,而不是运行curl – 但在这种情况下,这应该不是问题。