我想要新增使用者帳戶,該帳戶可使用 SSH 連接至我的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體。
簡短描述
每個 Amazon EC2 Linux 執行個體使用對執行個體具有管理存取權的預設系統使用者帳戶啟動。如果多個使用者需要存取執行個體,安全性最佳實務是針對每個使用者使用單獨的帳戶。
您可以使用 cloud-init 和使用者資料加快這些步驟。如需詳細資訊,請參閱如何使用 cloud-init 和使用者資料將具有 SSH 存取權的使用者帳戶新增至 EC2 執行個體?
解決方案
為新使用者帳戶建立金鑰對
將使用者新增至 EC2 Linux 執行個體
1. 使用 SSH 連接至 Linux 執行個體。
2. 使用 adduser 命令將新使用者帳戶新增至 EC2 執行個體 (將 new_user 取代為新帳戶名稱)。以下範例會在執行個體的 /etc/passwd 檔案中建立關聯群組、主目錄和項目。
$ sudo adduser new_user
在一項組態中,預設可能不會建立主目錄。繼續之前,請先驗證是否已建立主目錄。
**備註:**如果將 new_user 新增至 Ubuntu 執行個體,則包含 --disabled-password 選項以避免新增密碼至新帳戶:
$ sudo adduser new_user --disabled-password
3. 變更 new_user 帳戶的安全性內容,以便您建立的資料夾和檔案具有正確的許可:
$ sudo su - new_user
**注意:**執行 sudo su - new_user 命令時,命令 Shell 提示字元頂部的名稱會變更以反映 Shell 工作階段的新使用者帳戶內容。
4. 直接在 new_user 主目錄中建立 .ssh:
$ mkdir .ssh
5. 使用 chmod 命令將 .ssh 目錄的許可變更為 700。變更許可限制存取,以便只有 new_user 可以讀取、寫入或開啟 .ssh 目錄。
$ chmod 700 .ssh
6. 使用 touch 命令在 .ssh 目錄中建立 authorized_keys 檔案:
$ touch .ssh/authorized_keys
7. 使用 chmod 命令將 .ssh/authorized_keys 檔案許可變更為 600。將檔案許可限制讀取或寫入權限變更為 new_user。
$ chmod 600 .ssh/authorized_keys
為您的金鑰對擷取公有金鑰
使用適用於您組態的方法為您的金鑰對擷取公有金鑰:
驗證金鑰對的指紋
匯入自己的金鑰對或為金鑰對擷取公有金鑰後,遵循驗證金鑰對的指紋中的步驟操作。
更新並驗證新使用者帳戶憑證
擷取公有金鑰後,確認您是否有權限將公有金鑰新增至此帳戶的 .ssh/authorized_keys 檔案:
1. 在附加模式下執行 Linux cat 命令:
$ cat >> .ssh/authorized_keys
2. 將公有金鑰傳遞至 .ssh/authorized_keys 檔案並按 Enter。
**注意:**對於大多數 Linux 命令列介面,Ctrl+Shift+V 金鑰組合會將剪貼簿的內容貼到命令列視窗。對於 PuTTY 命令列介面,按一下滑鼠右鍵將剪貼簿內容貼到 PuTTY 命令列視窗。
3. 按住 Ctrl+d 退出 cat 並返回命令列工作階段提示字元。
驗證新使用可使用 SSH 連接至 EC2 執行個體
1. 從本機電腦上的命令列提示字元執行以下命令:
$ ssh -i /path/new_key_pair.pem new_user@public_dns_name_of_EC2_Linux_instance
若要使用 SSH 從 Windows 連接至 EC2 Linux 執行個體,請依照使用 PuTTY 從 Windows 連接至 Linux 執行個體中的步驟操作。
**注意:**如果您嘗試連接時出現錯誤,請參閱連接至執行個體疑難排解.
2. 從執行個體的命令列執行 id 命令,以檢視針對 new_user 帳戶建立的使用者和群組資訊。
$ id
id 命令會傳回類似於以下內容的資訊:
uid=1004(new_user) gid=1004(new_user) groups=1004(new_user)
3. 將私有金鑰檔案分配給新使用者。
相關資訊
在 Linux 執行個體上管理使用者帳戶