複数のファイルを複数のクライアントにコピー

複数のファイルを複数のクライアントにコピー

複数のリモートシステムに複数のファイルを配布したいと思います。最良の方法は何ですか(ssh用のssh-keyに加えて)。これに対する軽量サービスはありますか?

たとえば、10台のリモートコンピュータに展開する必要がある15個のファイルがあります。プロセスを自動化する必要があります。

答え1

最善の方法は、スクリプトを書くか、Ansibleを使用することです。どちらもSSHが必要です。バラよりAnsible ドキュメントはここにあります。そして チュートリアルポイントの簡単なAnsibleガイド

答え2

私の状況に最も適したアプローチは、ファイルを配布したいサーバーで.pemを生成することでした。

サーバー(私の場合は仮想マシン):

1- generate ssh key : ssh-keygen -t rsa -b 2048

2- cat keyName.pub >> .ssh/authorized_keys

3- chmod 600 .ssh/authorized_keys

4- create pem file : openssl rsa -in id_rsa -outform pem > id_rsa.pe

クライアント側から:

 1- get pem file

 2- chmod 400 id_rsa.pem

 For Testing Purpose :
 3- ssh -i id_rsa.pem <user>@<host> 

私の場合、Javaを使用してファイルを配布したので、sshjライブラリを使用してsshjファイルを送信しようとしました。newSCPFileTransfer()

関連情報