複数のリモートシステムに複数のファイルを配布したいと思います。最良の方法は何ですか(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()