Задать вопрос
@sergey_privacy
Админ со стажем, начинающий DevOps

Как раскидать публичные ключи с помощью xargs, ssh-copy-id и sshpass?

Получил недавно пачку из 500+ серверов, которыми надо оптом управлять, запускать одинаковые задачи по ssh и т.д. Для начала надо пройти и закинуть публичные ssh-ключи для беспарольного входа. Подготовил csv-файл с данными серверов типа:
ip;password
ip;password
ip;password
Вытаскиваю пароли командой
cut -f 2 -d ';' /tmp/111/list.txt
дальше передаю на ssh-copy-id и sshpass:
cut -f 2 -d ';'  /tmp/111/list.txt | xargs  -I "%" sshpass -p % ssh-copy-id ./key root@XXXXXXXXXXX/code>
И теперь никак не соображу, как вместо ХХХХ подставить соответствующие паролям айпишники?
  • Вопрос задан
  • 1354 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
while read
do
	IP=`echo $REPLY|cut -d ";" -f 1`
	PW=`echo $REPLY|cut -d ";" -f 2`
	echo "sshpass -p ${PW} ssh-copy-id root@${IP}"
done < list.txt


Попробуйте так.
Если echo работает верно, то просто поправьте ее на выполнение
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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