2011-10-13 77 views
0

我正在使用Windows系統命令提示符來調用Perl腳本。在某一時刻,Perl腳本調用svn+ssh來更新回購。所調用的存儲庫要求用戶輸入 - 特別是密碼。從命令提示符輸入Perl腳本中密碼的重定向

我正在嘗試自動執行Perl腳本,但它不斷掛斷了對svn的調用。我已經嘗試了許多形式的輸入重定向(具體地,<帶有外部文件,|帶有cat,並且windows power shell使用@符號來指定多行字符串)。有沒有辦法輸入這個Perl腳本的密碼?

針對此問題,我無法訪問Perl腳本,因此需要實施解決方法。

+0

您可以創建一個無密碼的SSH密鑰並使用該密鑰登錄。 – reinierpost

回答

2

你不提腳本使用SVN + SSH實現,但我的猜測是,這個問題是這樣的:

SSH客戶往往直接從終端索要密碼。密碼提示通常不會從標準輸入讀取,因此您無法重定向輸入。例如,OpenSSH客戶端就是這樣做的。它被設計爲防止用戶做不安全的事情 - 比如將密碼存儲在文件,環境變量或shell變量中。

這種情況下的常見建議是使用公鑰認證。

不知道你的腳本,它不可能提出我認爲的解決方法。

+0

您是對的 - 我正在進行身份驗證的方法不正確。但我很好奇密碼正在從哪裏讀如果不是STDIN ... – Kevin

+0

那麼,他們直接從終端讀取...在Windows中,可能使用此:http://msdn.microsoft.com/en -us/library/ms684958%28v = VS.85%29.aspx(ReadConsole()API函數) –

相關問題