scp с ожидаемым модулем не работает - PullRequest
3 голосов
/ 08 марта 2012

Я написал следующую программу для автоматизации команды scp в perl.

#!/usr/bin/expect
spawn scp hscpe@9.126.134.54:/home/hscpe/output.txt imt
set pass "jujsa32s"
expect {
        password: {send "$pass\r"; exp_continue
     }

Но передача файла не происходит.Обычно на консоли, если я попробовал ту же команду scp, она работает нормально.Может кто-нибудь разобраться в проблеме

Заранее спасибо !! ..

Ответы [ 3 ]

2 голосов
/ 08 марта 2012

использование Net :: OpenSSH :

my $ssh = Net::OpenSSH->new('hscpe@9.126.134.54', password => 'jujsa32s');
$ssh->scp_get('/home/hscpe/output.txt', 'imt/output.txt');
0 голосов
/ 19 декабря 2012

Вы должны использовать «sshpass» в скрипте bash:

#!/bin/bash
sshpass -p "password" scp -r user@example.com:/some/remote/path /some/local/path
0 голосов
/ 08 марта 2012

Вы используете ожидаемый для вашего пароля.
Я думаю, что вы должны использовать Ожидайте. Вечера для этой задачи. Среда, используемая при запуске perl-скрипта, может пропустить ожидаемые части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...