使用 SSH 為 AWS EC2 配置新用戶

使用 SSH 為 AWS EC2 配置新用戶

我已經建立了一個 EC2 執行個體。它具有互聯網連接,我可以使用“test_kp.pem”ssh 進入 ubuntu@ip。

我已經建立了一個新使用者..並在 AWS EC2 控制台中useradd test-user建立了一個新金鑰對。test-user-kp

我建立了目錄 home/test-user/.ssh 和檔案 .ssh/authorized_keys

我已運行該命令ssh-keygen -f test-user-kp.pem -y並將內容複製到authorized_keys中。我還修復了 .ssh 和檔案authorized_keys 的權限。

現在我嘗試ssh -i test-user-kp.pem test-user@ip命令失敗並顯示以下訊息:

test-user@ip:權限被拒絕(公鑰)。

答案1

這有幾種可能性。

讀你的帖子,我想知道你是否將 test-user-pk.pem 的內容複製到 ~ssh/authorized_keys。如果你這樣做了,那就是問題所在。該檔案是私鑰 - 公鑰可以在 test-user-pk.pem.pub 中找到,這很容易驗證,因為私鑰的格式與公鑰完全不同,並且以 --- 開頭--BEGIN OPENSSH PRIVATE KEY ------ 跨越多行- 而不是包含3 個欄位的單一長行,可能以「ssh-rsa」開頭,並以username@hostname 結尾- 公鑰位於中間。

否則 -

一般來說,請嘗試以使用者身分登錄,並將「-v」標誌傳遞給 SSH 以記錄用戶端所看到的內容,並在執行此操作時查看伺服器日誌檔案。

您可以更進一步,在伺服器上的另一個連接埠上啟動 sshd 的第二個實例,而不將其分離,然後看看嘗試連線時會發生什麼。

一些具體的可能性值得關注 -

  • SeLinux 是否破壞了實例(即檔案權限或類似)。我以前見過這個,這很痛。 audit.log 檔案將指示是否是這種情況,如果似乎是這種情況,暫時停用 selinux 可能有助於排除此問題。 (我以前見過這個,但在 Ubuntu 機器上沒有見過)

  • 我在 /etc/ssh/sshd_conf 中有一些東西阻止了協商 - 例如AllowUsers列表。

  • 難道是用戶主目錄的權限問題?

  • 會不會是一些愚蠢的事情,像是你最後加了鑰匙。

答案2

我以 root 身份創建了“authorized_keys”。為了解決這個問題,我跑了

sudo chown 測試使用者授權密鑰

相關內容