2016-03-01 82 views
1

我有一個「Amazon EC2 ubuntu」實例,並且具有keyfile(somekeyfile.pem)通過SSH訪問實例。我已經與供應商共享密鑰文件(somekeyfile.pem)文件以部署項目的東西。但現在我想撤銷該供應商的訪問權限。爲此,我嘗試了以下方法。在EC2實例上爲Ubuntu用戶強制實施密碼

(1) Set root password using the command 
sudo passwd 

(2) Set ubuntu password using the command 
sudo passwd ubuntu 

(3) Modify the /etc/ssh/sshd_config 
    and set PasswordAuthentication yes 
    then restart the SSH service 

(4) Modified /etc/sudoers.d/90-cloud-init-users and changed 

ubuntu ALL=(ALL) NOPASSWD:ALL 

to: 

ubuntu ALL=(ALL) ALL 

仍然供應商,我只能使用密鑰對登錄實例。有什麼方法可以通過密鑰對/ .pem身份驗證來啓用密碼。請指導。我知道Sudo命令詢問密碼。

回答

2

首先,你不應該共享你的私鑰。

私鑰是私有

你應該做的是什麼,而不是在問你的用戶可以創建自己的公鑰/私鑰對,溝通你公共一個讓你可以把它添加到$HOME/.ssh/authorized_keys文件。

要允許通過SSH使用特定用戶連接到主機,您需要做的是將相應的public key添加到此用戶的$HOME/.ssh/authorized_keys文件中。

要撤銷密鑰,您只需刪除該用戶的$HOME/.ssh/authorized_keys文件的相應行。

如果您對公鑰/私鑰機制不滿意,您應該先閱讀它。

解決你的問題:

  1. 創建一個新的私有/公共密鑰對。私鑰將取代您目前的somekeyfile.pem ,並保持私人這一次!

  2. 追加公鑰相應.ssh/authorized_keys

  3. 確保您可以登錄與新的私鑰

  4. 刪除對應於舊鑰匙在.ssh/authorized_keys

警告:如果你搞砸了,你最終將無法聯繫到你的主機,所以確保新的密鑰在你撤銷舊密碼之前工作。

+0

謝謝。投票 –