2011-08-24 43 views
1

我已經運行Perl腳本,它使用cygwin命令提示符下的Net :: SSH :: Expect包。但我想通過Windows 2003的任務調度或通過cygwin的crontab安排相同的腳本,或者從DOS命令提示符運行該腳本在中間出現以下錯誤時失敗。從DOS下的Cygwin環境運行perl腳本:: Net :: SSH :: Expect包CMD

錯誤:

SSHAuthenticationError Login timed out. The input stream currently has the conte 
nts bellow: Pseudo-terminal will not be allocated because stdin is not a termina 
l. 
at /usr/lib/perl5/site_perl/5.10/Expect.pm line 828 

密碼:

任何機構可以幫助我在這.. 在此先感謝。 kishore。

回答

1

您需要強制或禁用啓動SSH的命令行中的pseudy TTY分配,方法是將-T-t選項傳遞給SSH。 From the SSH man page

-T  Disable pseudo-tty allocation. 

-t  Force pseudo-tty allocation. This can be used to execute arbi- 
     trary screen-based programs on a remote machine, which can be 
     very useful, e.g. when implementing menu services. Multiple -t 
     options force tty allocation, even if ssh has no local tty. 
+0

非常感謝您的回覆,我試過SSH的-t和-T選項,但仍問題仍然存在。 – user398026

+1

@ user398026:你不應該同時使用兩者。 –

+0

我的意思是說與兩個選項嘗試。 – user398026