在部署集羣時經常遇到客戶只有一臺跳板機通往各個服務器,控制端需要配置免密碼登錄,使集羣之間能夠部署我們的服務。
更安全 Ed25519 算法
步驟:
- 在控制端生成密鑰
- 把生成的公共密鑰添加到需要免密登錄的服務器中
前提: 你已經可以通過 SSH 登錄服務器了
1. 在控制端生成密鑰
更安全 Ed25519 算法
ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_ed25519
或者傳統 RSA 算法
ssh-keygen -t rsa -b 2048 -N '' -f ~/.ssh/id_rsa
如果知道其他服務器密碼使用以下命令即可,後面無需操作。
ssh-copy-id $IPs
本文使用Ed25519算法後生成的祕鑰文件如下:
id_ed25519 id_ed25519.pub known_hosts
其中的cat id_ed25519.pub文件就是公共密鑰,需要cp到其他服務器。
先在控制端配置好authorized_keys文件。
cat /root/.ssh/id_ed25519.pub >> /root/.ssh/authorized_keys
最後把authorized_keys複製到各個服務器的/root/.ssh下即可實現免密登錄。
如果其他服務器沒有/root/.ssh/文件夾需要mkdir -p /root/.ssh/
手動創建一個。
scp /root/.ssh/id_ed25519.pub [email protected]:/root/.ssh/authorized_keys
注: 如果不知道其他服務器密碼,也可以手動把控制端的密碼複製到被控端的authorized_keys中