SSH 不需要密碼登入方式
SSH 可以透過憑證信任的方式來直接登入, 適合用於 rsync 備份資料等背景程式自動執行處理作業
Ubuntu
以下介紹 ServerA 的 jonathan 可以直接使用 jonathan_serb.key 登入 jonathan@ServerB 的設定方式
jonathan@ServerB 的設定
- 產生連入的 key
mkdir -p /home/jonathan/.ssh; ssh-keygen -t rsa -C 'jonathan\@servera.ichiayi.com' -f /home/jonathan/.ssh/jonathan_serb -q -N '' cat /home/jonathan/.ssh/jonathan_serb.pub >> /home/jonathan/.ssh/authorized_keys chmod -R go= /home/jonathan/.ssh chown -R jonathan:jonathan /home/jonathan/.ssh
- 將產生的 key /home/jonathan/.ssh/jonathan_serb 傳送到 ServerA Exp.
scp /home/jonathan/.ssh/jonathan_serb [email protected]:/home/jonathan/.ssh/jonathan_serb.key
jonathan@ServerA 的設定
- 設定 key 權限
chmod 600 /home/jonathan/.ssh/jonathan_serb.key
- 驗證使用 key 連入主機
ssh -i /home/jonathan/.ssh/jonathan_serb.key -o "StrictHostKeyChecking no" [email protected]
CentOS
以下介紹 ServerA 的 root 可以直接登入 ServerB 的 root 設定方式
ServerA 的設定
su - root cd .ssh ssh-keygen -d 會產生 id_dsa.pub scp id_dsa.pub ServerB:/root/.ssh/ServerA_authorized_keys2
ServerB 的設定
su - root cd .ssh cat ServerA_authorized_keys2 >> authorized_keys2
無法登入可能原因
依據之前的測試經驗, 如果這樣還出現需要輸入密碼, 則需檢查 authorized_keys2 的存取權限, 最好改成只有自己可以讀取與修改, 其他或群組成員均不能讀取與修改
su - root cd .ssh chmod 600 authorized_keys2