Как передать пароль scp?

Я знаю, что это не рекомендуется, но является этим вообще возможный передать пароль пользователя scp?

Я хотел бы скопировать файл через scp как часть пакетного задания, и серверу получения действительно, конечно, нужен пароль и, нет, я не могу легко изменить это на основанную на ключе аутентификацию.

260
задан DennisLi 31 July 2019 в 04:15
поделиться

3 ответа

Можно написать сценарий его с инструментом как , ожидают (существует удобная привязка также, как Pexpect для Python).

28
ответ дан joelittlejohn 23 November 2019 в 02:36
поделиться

Вот пример того, как Вы делаете это с expect инструмент:

sub copyover {
    $scp=Expect->spawn("/usr/bin/scp ${srcpath}/$file $who:${destpath}
+/$file");
    $scp->expect(30,"ssword: ") || die "Never got password prompt from
+ $dest:$!\n";
    print $scp 'password' . "\n";
    $scp->expect(30,"-re",'$\s') || die "Never got prompt from parent 
+system:$!\n";
    $scp->soft_close();
    return;
}
10
ответ дан manav m-n 23 November 2019 в 02:36
поделиться

Альтернатива была бы, добавляет общедоступная половина ключа пользователя к файлу авторизованных ключей в целевой системе. В системе Вы - инициирование передача от, можно выполнить демона ssh-агента и добавить частную половину ключа к агенту. Пакетное задание может тогда быть настроено для использования агента, чтобы получить закрытый ключ, вместо того, чтобы запросить пароль ключа.

Это должно быть выполнимо или в системе UNIX/Linux или в платформе Windows с помощью театрализованного представления и pscp.

0
ответ дан rjray 23 November 2019 в 02:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: