В общем нужно швырнуть файл с одного узла на другой в один прием без участия человека... Есть трабла, ни scp ни ftp не хотят принимать пароль параметром, только ручной ввод...
Пробовал так
ftp < file.sh
в file.sh следующее
open 10.10.10.1
user
pass
так вот эта зараза юзера кушает, а пароль все равно просит ввести руками...Та же самая беда и с scp...
Подскажите, чего делать пожалста...
1. Для ssh (scp) почему нельзя настроить авторизацию по ключам?
2. Для запихивания пароля man expect применять не пробовали?
>1. Для ssh (scp) почему нельзя настроить авторизацию по ключам?
>2. Для запихивания пароля man expect применять не пробовали?
1)Про ключи думал... И хотел, но тут уже просто интересно, как сделать по паролю...
2) Сейчас попробую
>>2. Для запихивания пароля man expect применять не пробовали?Для ftp man ftp
THE .netrc FILE
The .netrc file contains login and initialization information used by the
auto-login process. It resides in the user's home directory. The fol-
lowing tokens are recognized; they may be separated by spaces, tabs, or
new-lines:
> В общем нужно швырнуть файл с одного узла на другой в
>один прием без участия человека... Есть трабла, ни scp ни ftp
>не хотят принимать пароль параметром, только ручной ввод...
>Пробовал так
>ftp < file.sh
>в file.sh следующее
>open 10.10.10.1
>user
>pass
>так вот эта зараза юзера кушает, а пароль все равно просит ввести
>руками...
>
>Та же самая беда и с scp...
>Подскажите, чего делать пожалста...учить SHELL:
.netrc для имени машины, пользователя и пароля,
простенький скрипт:----------------------- lala.sh ----------------------------
#!bin/sh
ftp host < ftp.in &> ftp.out &
------------------------------------------------------------в ftp.in список команд, например:
---------------------- ftp.in ------------------------------
verbose
propmt
dir
...
quit
------------------------------------------------------------prompt - для отключения диалога (man ftp)
в ftp.out будет писаться протокол работы.
# sh lala.sh
понеслась...Про SSH/SCP уже все подсказали
Делаю при помощи lftp
команда
lftp -u login,password -e "cd /var/backup; put /tmp/test.tgz; bye" remote.ftp.hostчто делает:
конектится к remote.ftp.host с указанным логином и паролем
заходит в мой локальный /var/backup
закачивает в удаленный /tmp файл /var/backup/test.tgz
отключается
>Делаю при помощи lftp
>команда
>lftp -u login,password -e "cd /var/backup; put /tmp/test.tgz; bye" remote.ftp.host
>
>что делает:
>конектится к remote.ftp.host с указанным логином и паролем
>заходит в мой локальный /var/backup
>закачивает в удаленный /tmp файл /var/backup/test.tgz
>отключаетсяlftp удобная штука без вопросов, но ps axuww покажет мне запуск и
параметры командной строки, те нужны доп.телодвижения для ядра - показ
чужих ps (в случае FreeBSD: security.bsd.see_other_uids / man ps)в случае .netrc - chmod 600 быть обязан и ftp клиент возьмет оттуда
username и password, если же скрывать нечего, то конечно лучше lftp