@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>
И теперь никак не соображу, как вместо ХХХХ подставить соответствующие паролям айпишники?
  • Вопрос задан
  • 1339 просмотров
Пригласить эксперта
Ответы на вопрос 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 работает верно, то просто поправьте ее на выполнение
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект