Ssh
將多個文件複製到多個客戶端
我想在多台遠端機器上部署多個文件,最好的方法是什麼(除了 ssh 的 ssh-key )。有什麼輕量級的服務嗎?
例如,我有 15 個文件應該部署到 10 台遠端機器上。該過程應該是自動化的
事實證明,對我而言,最好的方法是在我想要將文件部署到的伺服器上生成一個 .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()
您最好的選擇是編寫腳本或使用 Ansible。兩者都需要 ssh。請參閱此處的 Ansible 文件和 教程點上的簡單 Ansible 指南