Ssh

如何使用 ssh 密鑰在兩個 ec2 實例之間進行 ssh?

  • September 28, 2020

我有兩個 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_keysServer2 中,然後反向重複相同的過程旅行。

你的私鑰必須是你的,它絕不能離開你的電腦,不要通過在伺服器上複製來使用它,我可以向你保證,你這樣做並沒有簡化任何事情。

在我所有的 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將公鑰從一台伺服器發送到另一台伺服器。

引用自:https://serverfault.com/questions/936197