Як скопіювати id_dsa.pub


3

Я намагаюся створити сервер резервного копіювання для сотень (500+) хмарних серверів, які використовують iptables, які обмежують тільки ssh підключення до IP-адрес наших компаній.

Всі резервні копії перейдуть на один центральний "сервер" хмари, хости знаходяться в різних регіонах або центрах обробки даних і працюють scp або ssh_copy_id або подібне, входячи в кожну, буде нудним кошмаром.

Чи можна експортувати ключ і використовувати його в "скрипті типу встановлення" з локального сервера на всі сервери, які потім копіюють ідентифікатор ssh для входу без пароля і встановлюють скрипт cron + для автоматизованого резервного копіювання?

Відповіді:



0

Команди parallel-scp і parallel-ssh з пакета pssh також можуть бути більш простим рішенням. Ви просто зберігаєте хост ip у файлі для передачі як параметри хоста. Перший час паралельний scp буде копіювати відкритий ключ в ~ / .ssh / authorized_keys на кожному сервері і в наступних прогонах ви зможете отримати доступ до серверів через паралельний ssh.


У мене є скрипт, який перекриває scp з файлом, який містить всі паролі ip і root для інших цілей, таких як перенесення оновлень файлів, що не є проблемою, хоча pssh - це цікава ідея взагалі. папку на локальний сервер як файл не з метою встановлення ключа, а для того, щоб поширювати або "копіювати" файл іншим хостам, щоб вони могли використовувати їх як ключ ssh. Це означає, що якщо i zip /root/.shh/id_dsa.pub або додати рядок ключів до скрипта, який створює ключовий файл, це буде працювати. щось на зразок cat <<EOF keystringEOF
Moshe S

0

Я виявив, що найпростіший спосіб - це скрипт з sshpass і обмеженим користувачем, як рішення для зупинки, в той час як ми оцінюємо рішення "автоматичного розгортання". Сценарій нижче Спасибі і щасливих свят

#!/bin/bash
now=$(date +"%Y-%m-%d")
PATH=/usr/sbin:/sbin:/usr/bin:/bin
ServerIP=`ifconfig | grep -A1 "Link encap:Ethernet" | grep -v "Link encap:Ethernet" | cut -d":" -f2 | cut -d" " -f1 | egrep '([1-2]?[0-9]{0,2}\.){3,3}[1-2]?[0-9]{0,2}'`
echo "ServerIP is:$ServerIP" > /dev/null

if ! rpm -qa | grep -qw sshpass; then

yum -y install sshpass rsync

elif [ ! -d "/tmp/backup" ] ; then

mkdir -p /tmp/backup && chmod -R 777 /tmp/backup

else

cp -u /etc/sysconfig/iptables /tmp/backup
cp -Ru /var/..../custom/ /tmp/backup
cp -Ru /var/..../somestuff/ /tmp/backup
mysql -uroot -pmysqlpassword < /root/backup.sql

fi

zip -r /tmp/backup/`hostname`_"$ServerIP"_"$now"_Backup.zip /tmp/backup/
rsync -avzh -e "sshpass -p verylongpassword ssh" /tmp/backup/*Backup.zip user@ServerIP:/backups/
rm /tmp/backup/*
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.