SSH 不需要密碼登入方式

SSH 可以透過憑證信任的方式來直接登入, 適合用於 rsync 備份資料等背景程式自動執行處理作業

以下介紹 ServerA 的 jonathan 可以直接使用 jonathan_serb.key 登入 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

  • 設定 key 權限

    chmod 600 /home/jonathan/.ssh/jonathan_serb.key

  • 驗證使用 key 連入主機

    ssh -i /home/jonathan/.ssh/jonathan_serb.key -o "StrictHostKeyChecking no" [email protected]

以下介紹 ServerA 的 root 可以直接登入 ServerB 的 root 設定方式

su - root
cd .ssh
ssh-keygen -d
會產生 id_dsa.pub
scp id_dsa.pub ServerB:/root/.ssh/ServerA_authorized_keys2
su - root
cd .ssh
cat ServerA_authorized_keys2 >> authorized_keys2

依據之前的測試經驗, 如果這樣還出現需要輸入密碼, 則需檢查 authorized_keys2 的存取權限, 最好改成只有自己可以讀取與修改, 其他或群組成員均不能讀取與修改

su - root
cd .ssh
chmod 600 authorized_keys2
  • tech/sshlogin.txt
  • 上一次變更: 2022/04/01 15:07
  • jonathan