从命令提示符输入Perl脚本中的密码重定向

时间:2011-10-13 23:31:06

标签: perl svn batch-file

我正在使用Windows系统命令提示符来调用Perl脚本。在某个时间点,Perl脚本调用svn+ssh来更新仓库。被调用的存储库询问用户输入 - 特别是密码。

我正在尝试自动执行Perl脚本,但它不断被挂起来调用svn。我尝试了多种形式的输入重定向(特别是<带有外部文件,|带有cat,windows power shell使用@符号来指定多行字符串) 。有没有办法为这个Perl脚本输入密码?

出于这个问题的目的,我无法访问Perl脚本,我需要实现一个解决方法。

1 个答案:

答案 0 :(得分:2)

你没有提到脚本使用的svn + ssh实现,但我的猜测是问题是:

SSH客户端倾向于直接从终端请求密码。密码提示通常不会从标准输入读取,因此您无法重定向输入。例如,OpenSSH客户端就是这样做的。它旨在防止用户做出不安全的事情 - 比如在文件,环境变量或shell变量中存储密码。

这种情况下的常见建议是使用公钥认证。

在不知道您的脚本的情况下,我认为无法提出解决方法。