
Rsync の使い方を学ぼうとしています。基本的には、他の多くのマシンと同期させたいファイルのリポジトリとして機能する「サーバー」をセットアップしたいと考えています。この道を歩み始めたばかりで、rsa キーを使用して ssh 経由で rsync を使用する方法について混乱しています。これを実現する方法については多くのチュートリアルを見つけましたが、私の質問は次のとおりです。各「クライアント」に個別の rsa キーが必要で、それを「サーバー」に用意する必要がありますか。それとも、すべてのクライアントに 1 つのキーを使用できますか。クライアントは数百あるかもしれません (そう願っています)。自動部分を手動で動作させる方法を見つけました。アイデアがあれば歓迎します。
答え1
サーバー上にファイル共有を設定できます。Windows クライアントの場合は Windows 共有、Linux クライアントの場合は NFS 共有です。
rsync を使用する必要がある場合は、サーバーからクライアントにプッシュできます。クライアントにサーバーの権限を付与するには、サーバーから次のコマンドを実行します。
ssh-copy-id username@client1
次に、それぞれに同じユーザー名があると仮定して、次のようにディレクトリ同期をプッシュします。
for client in client1 client2 client3 client4 client5; do
rsync -avz /full/path/ username@$client:/full/path/
done
答え2
数百のクライアントについて話しているのであれば、何らかの同期ソフトウェアを使用する方が良いと思います。ギット、化石-SCMまたは同期マスター モードです。最新のものを使用すると、クライアントの SSL 証明書をまったく扱う必要がなくなり、実質的にどのプラットフォームでも動作します。git
また、fossil
HTTPS 経由で提供できるため、多くの証明書を管理する必要がありません。このようなアプローチを使用すると、サーバーへのアクセスを管理するための余分な作業がなくなります。 rsync
これは本当に良いことですが、安全な SSH サーバーを管理し、大量の証明書を扱う必要があるため、私の意見では、あなたのシナリオには適していません。