我目前運作中的網頁伺服器有三台,身為一個懶惰的網站管理者,設置一台專門排程備份的伺服器是最基本的,萬一server真的故障才不用事後花大把心力去搶救資料。
雖然很早就知道如何免驗證
登入伺服器,但之前所操作的步驟一直很繁瑣,先在client產生金鑰,然後傳送到server端,之後又很辛苦的ssh進去server端將金鑰加入信份名單。
直到最近..
突然發現之前步驟雖然沒錯,但其實還有更簡單的方法來省時間..
步驟1. Client產生金鑰
在VM起一台全新的Linux,然後安裝套件只裝ssh套件(單純只當rsync server),sudo apt-get update
更新完之後,就準備產生金鑰,傳送到各運行中的server上頭。
ssh-keygen -t rsa
步驟2. 將金鑰傳送到server端並加入信用名單
記得將下方user@server-ip
更改成自己的伺服器資料。
cat ~/.ssh/id_rsa.pub | ssh user@server-ip "cat >> ~/.ssh/authorized_keys"
By the way
如果無法順利將自己的id_rsa.pub
加入信用名單,那有可能是權限出現問題。你可能權限改成400
導致只有唯獨權限而無法寫入,這時記得將權限改成600
後再將金鑰新增至信任名單authorized_keys
,新增完後記得再改回來400
比較安全。
ssh user@server-ip "chmod 600 ~/.ssh/authorized_keys"