Ssh
如何使用 ssh 密鑰在兩個 ec2 實例之間進行 ssh?
我有兩個 EC2 實例:
服務 1,作業系統:Centos - 7.5 服務 2,作業系統:Centos - 7.5 預設使用者名:centos
兩者都配置為無密碼登錄,所以我有 ssh 密鑰。
我可以使用主機上的 ssh 密鑰 ssh 到兩台伺服器。
但是當我嘗試從伺服器 1 SSH 到伺服器 2 時,它失敗了。
我發現私鑰在 /etc/ssh
-rw-r-----. 1 root ssh_keys 1679 Oct 7 14:42 ssh_host_rsa_key
錯誤
sudo ssh -i ./ssh_host_rsa_key centos@172.26.7.177 Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
那麼我哪裡錯了?
解決此問題的最佳方法是使用 ssh-keygen 為您希望在 Server1 上連接到 Server2 的使用者創建一個新密鑰,並將該使用者的 PUBLIC 密鑰複製到
~/.ssh/authorized_keys
Server2 中,然後反向重複相同的過程旅行。你的私鑰必須是你的,它絕不能離開你的電腦,不要通過在伺服器上複製來使用它,我可以向你保證,你這樣做並沒有簡化任何事情。
在我所有的 CentOS 7 伺服器中,預設的 SSH 配置駐留在 ~/.ssh 中,私鑰通常是
~/.ssh/id_rsa
,公鑰通常是~/.ssh/id_rsa.pub
這些是您應該為每台機器創建或編輯的僅有的 3 個文件:~/.ssh/id_rsa ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
確保 ~/.ssh 目錄是 chmod’ed 700 和 600 內的文件。
創建兩組密鑰後,您可以使用
ssh-copy-id
將公鑰從一台伺服器發送到另一台伺服器。