Ssh

嘗試使用 Ansible 連接到我的 ec2 實例

  • June 26, 2021

我正在關注 Ansible 的數字海洋指南,其中涉及在我將使用的主機上設置我的 ssh 密鑰:https ://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys -on-ubuntu-20-04

我的 Ansible 主機是我的本地 WSL Ubuntu 設置,我的客戶端是 AWS 伺服器。

我開始第 1 步並創建了一個 rsa 密鑰 myfirstkey.pub。然後我跑了: sudo ssh-copy-id -i ~/.ssh/myfirstkey.pub ~/.ssh/myhostkeyforaws.pub ec2-user@myfirsthost

但我一直看到這個錯誤:

my_user@DESKTOP:~/.ssh$ sudo ssh-copy-id -i ~/.ssh/myhostkeyforaws ec2-user@myfirsthost
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/my_user/.ssh/myhostkeyforaws.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
ec2-user@myfirsthost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

我已經閱讀了很多幫助指南,但我無法弄清楚我做錯了什麼。如何向亞馬遜 ec2 實例添加 ssh 密鑰?

閱讀AWS 關於如何添加密鑰的文件。AWS 不允許密碼身份驗證,因此您必須按照 AWS 的文件添加密鑰。

如果您在 VM 中沒有設置,最簡單的方法可能是刪除它並重新開始 - 並註意您在創建 VM 時所做的選擇。如果您在其中進行了配置,AWS 會提供有關如何訪問它的文件,方法是將儲存附加到不同的 VM 並手動編輯它。

其次,預設情況下不要在命令前面加上sudo。在您的場景中沒有理由以ssh-copy-idroot 身份執行。

第三,為什麼要在電腦上為密鑰設置自定義文件名?在某些情況下這可能是有意義的,但總的來說它只會使使用更加複雜。

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