id_dsa.pubをコピーする方法


2

私は会社のIPのみへのssh接続を制限するiptablesを使用する数百(500以上)のクラウドサーバー用のバックアップサーバーを作成しようとしています。

すべてのバックアップは、さまざまな地域やデータセンターやランニングに配置されているホスト、一つの中心クラウド「サーバー」に行くだろうscpか、ssh_copy_id一つ一つにログインすることにより、または類似が面倒悪夢だろう。

キーをエクスポートし、ローカルサーバーからすべてのサーバーに「インストールタイプスクリプト」で使用して、パスワードなしログイン用のssh IDをコピーし、自動バックアップ用のcron +スクリプトをインストールできますか?

回答:



0

psshパッケージのparallel-scpおよびparallel-sshコマンドも、より簡単なソリューションです。ホストIPをファイルに保存して、ホストパラメータとして渡すだけです。parallel-scpが各サーバーの公開キーを〜/ .ssh / authorized_keysに初めてコピーし、その後の実行で、parallel-sshを介してサーバーにアクセスできます。


私は問題ではないファイル更新の一時停止などの他の目的のためにすべてのIPとルートパスワードを含むファイルでscpをループするスクリプトを持っていますが、psshは一般的に興味深いアイデアですが、質問はsshキーをコピーするかどうかですキーをインストールする目的ではなく、ファイルとしてローカルサーバーにフォルダを作成しますが、sshキーとして使用する他のホストにファイルを配布または「コピー」するために機能します。つまり、/ root / .shh / id_dsa.pubを圧縮するか、キーファイルを作成するスクリプトにキー文字列を追加すると機能します。ようなものcat <<EOF keystringEOF
モシェ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/*
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.