передача пароля на SCP параметром (в скрипте)

Модератор: Модераторы разделов

Аватара пользователя
andro_id
Сообщения: 146
ОС: openSuSE 11 (XFCE 4.6.0)

передача пароля на SCP параметром

Сообщение andro_id »

Привет народ.

Есть скрипт, который по цыклу копирует файлы по scp с нескольких серверов, при это на каждый сервер нужно вводить пароль, притом, что они одинаковые. Я хочу считать ввод пароля с клавиатуры в переменную в начале скрипта, но как потом передать значение этой переменной при запросе пароля scp? Или кроме как использовать аутентификацию по ключам и ssh-agent альтернативы нет?
Спасибо сказали:
Аватара пользователя
Ariasp
Сообщения: 254
Статус: NixLander

Re: передача пароля на SCP параметром

Сообщение Ariasp »

expect-скрипт (или -> интерпретатор expect) является альтернативой
Спасибо сказали:
Аватара пользователя
real_maverick
Сообщения: 28
ОС: CentOS

Re: передача пароля на SCP параметром

Сообщение real_maverick »

andro_id писал(а):
23.01.2009 18:10
Привет народ.

Есть скрипт, который по цыклу копирует файлы по scp с нескольких серверов, при это на каждый сервер нужно вводить пароль, притом, что они одинаковые. Я хочу считать ввод пароля с клавиатуры в переменную в начале скрипта, но как потом передать значение этой переменной при запросе пароля scp? Или кроме как использовать аутентификацию по ключам и ssh-agent альтернативы нет?


сюда смотри: Передача команды по SSH
Спасибо сказали:
Аватара пользователя
andro_id
Сообщения: 146
ОС: openSuSE 11 (XFCE 4.6.0)

Re: передача пароля на SCP параметром

Сообщение andro_id »

спасибо за наводку, все решилось таким образом:
в bash-скрипте вызвал expect-скрипт с параметром, параметр - имя сервера, который перебирается по циклу из списка серверов.

Код: Выделить всё

#!/bin/bash
./expect_script $bcp_server



Код: Выделить всё

#!/usr/bin/expect
set bcp_server [lrange $argv 0 0]
spawn scp root@$bcp_server:/var/log /root/log
expect "root@$bcp_server's password: " {send ssh_password\r}
expect eof
Спасибо сказали: