Мне нужно скопировать некоторые данные из кластера очень ограниченных машин через сеть, которая в настоящее время имеет проблемы с DNS (поэтому некоторые соединения странно не работают). Я обнаружил, что единственный способ скопировать данные с компьютера - запустить scp с этого компьютера. На данный момент рабочий процесс:
- для каждой машины в машинах
ssh machine
- введите пароль
scp files destination:results
- введите пароль
- Подождите
- повторить навсегда
Я схожу с ума от этого ручного труда. Я хочу решение, которое позволяет мне вводить пароль один раз.
Я искал решения. Большинство рекомендует установить ключи SSH, но для их распространения требуется та же процедура. Другие упоминают expect
программа, но у меня ее нет в этой системе.
Как это можно сделать?
Обновить: Основной компьютер работает под управлением FreeBSD 9, а 100 серверов работают под управлением Ubuntu 12. У меня нет рута на любой машине.
for s in $LIST_OF_SERVERS; do ssh-copy-id $s; done
и поместите мой пароль (плюс перевод строки) в буфер обмена. Ручной труд все еще, но идет по логике, и, опять же, нужно будет сделать только один раз для каждого сервера.