我創建了一個調用我的實例的使用者grader
並授予其 sudo 權限,同時我也將密碼切換/etc/ssh/sshd_config
為關閉。
我在本地電腦中產生了一個密鑰對,並將公鑰添加到了實例中。當我嘗試使用 Amazon AWS 提供的 DEFAULT 使用者和我產生的金鑰存取實例時,它可以工作
ssh -i "udacityLinux" [email protected]
但是當我使用用戶嘗試相同的操作時,grader
我收到此錯誤:
ssh -i "udacityLinux" [email protected]
[email protected]: Permission denied (publickey).
如何修復此問題以便能夠使用我的grader
用戶登入?
答案1
您似乎對上傳到伺服器的公鑰有誤解。
~/.ssh/authorized_keys
對於應由該密鑰標識的每個用戶,該密鑰必須儲存在文件中。
該路徑~/.ssh/authorized_keys
相當於您目前的使用者目錄,如果您以grader
使用者身分登錄,則路徑將指向:
/home/grader/.ssh/authorized_keys
如果您以使用者身分登入ubuntu
,該路徑將指向:
/home/ubuntu/.ssh/authorized_keys
因此,現在您可以使用以下命令複製密鑰檔案:
sudo cp /home/ubuntu/.ssh/authorized_keys /home/grader/.ssh/
然後設定正確的所有者和權限:
sudo chown grader:grader /home/grader/.ssh/authorized_keys
sudo chmod 0600 /home/grader/.ssh/authorized_keys
請記住,現在您也接受了可能ubuntu
為該使用者啟用的所有金鑰。grader