Мне нужно запустить несколько команд параллельно, включая SCP. Для этого я использую GNU Parallel. Проблема в том, что я не знаю, как передать пароль SCP. Это строка, подобная той, я бегу:Выполнение SCP в GNU Parallel
ls 2011_* | parallel scp {} [email protected]
ls
И если находит 3 файла, УПП задать 3 раза для пароля в то же время, и я могу только ввести пароль к последнему процессу подсказывать для этого.
Я временно решил эту проблему, используя открытый ключ, но это не будет вариантом в будущем из-за политики компании. Я прочитал страницы руководства SCP, и я не мог найти вариант, но я вполне уверен, что Parallel должен иметь возможность разрешить мне вводить пароль.
Кто-нибудь знает способ решить это?
EDIT: Я хочу знать, если есть способ, которым я могу сказать parallel
пароль, чтобы он мог дать его scp
каждый раз, когда он просит. Может быть что-то вроде этого:
ls 2011_* | parallel scp {} [email protected] < file_with_password.txt
Но указав, что перенаправление STDIN
для scp
и не для ls
или parallel
.
EDIT: параллельно sshpass -p $ PASS Scp -p $ PORT -rp {} ~/to_dir ::: $ ADDRESS: ~/from_dir/* – Jordan
Добро пожаловать на переполнение стека! Хотя этот код может ответить на вопрос, было бы лучше включить некоторый _context_, объясняя _how_ он работает и _when_ использовать его. Ответы только на код не полезны в долгосрочной перспективе. Кроме того, вы можете отредактировать свой ответ, не нужно добавлять комментарии, чтобы указать его. Я отредактировал его для вас, чтобы добавить изменения и исправить форматирование кода (четыре пробела для выделения кода). –