![将多个文件复制到多个客户端](https://linux22.com/image/131668/%E5%B0%86%E5%A4%9A%E4%B8%AA%E6%96%87%E4%BB%B6%E5%A4%8D%E5%88%B6%E5%88%B0%E5%A4%9A%E4%B8%AA%E5%AE%A2%E6%88%B7%E7%AB%AF.png)
我想在多台远程计算机上部署多个文件,最好的方法是什么(除了 ssh 的 ssh-key )。有没有这方面的轻量级服务?
例如,我有 15 个文件,应部署到 10 台远程计算机。该过程应该自动化
答案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()