
所以我一直在嘗試在包含 1 個主節點和 2 個工作節點的 google 叢集容器之間建立 ssh 連線。我使用 ssh-keygen 為所有三個節點產生金鑰對,將 2 個工作節點的兩個私鑰發送到主節點並發送到 .ssh/autherized_keys 檔案中。然後我也與兩個工作節點共用該檔案。
此方法可以立即成功建立 ssh 連線。 ssh 連線很好,我還可以使用 scp 傳送檔案。然而,在我登出並重新登入虛擬機器的後期階段,ssh 連線變得非常不穩定,因為有時它會傳回連線失敗錯誤:權限被拒絕(公鑰),有時可能會再次觸發連線。
有人知道問題是什麼嗎?先致謝!
答案1
如果它曾經工作過但現在不工作,請執行以下操作:
# Adjust paths as necessary. May need to add sudo if you're not running it as root.
chmod 700 ~/.ssh && chmod 600 ~/.ssh/* && chmod 644 ~/.ssh/authorized_keys
如果仍然不喜歡,請驗證authorized_keys的內容,並檢查/etc/ssh/sshd_config(或任何您的sshd設定檔)中的以下值。
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no
UsePAM no # Just my choice.
安全注意事項:我建議在存取雲端環境時使用受密碼保護的私鑰,並且僅針對單一系統(即跳轉伺服器)進行設定。從那裡您可以更自信地對環境的其餘部分使用無密碼 ssh 身份驗證。