Запуск perl-скрипта с пакетом Net :: SSH :: Expect в среде cygwin из DOS CMD - PullRequest
1 голос
/ 24 августа 2011

Мне достаточно запустить скрипт Perl, который использует пакет Net :: SSH :: Expect из командной строки cygwin. но я хочу запланировать тот же сценарий в расписании задач Windows 2003 или через crontab в cygwin, или запустить из командной строки DOS, сценарий не выполняется в середине с ошибкой ниже.

Ошибка:

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

Пароль:

может ли любое тело помочь мне в этом .. Заранее спасибо. Кишор.

1 Ответ

1 голос
/ 24 августа 2011

Вам необходимо либо принудительно отключить выделение псевдонима TTY в командной строке, запускающего SSH, передав параметр -T или -t в SSH. Со страницы руководства SSH :

 -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.
...