如果您需要在Linux實例上新建普通用戶,并使用該用戶通過SSH密鑰對連接Linux實例,以提高系統的安全性和便于權限管理,則您只需要登錄Linux實例并將用于保存公鑰信息的~/.ssh/authorized_keys文件保存到您自建用戶的.ssh目錄下即可。
工作原理
在創建ECS實例時,支持設置登錄用戶為root或ecs-user(部分鏡像暫不支持ecs-user,具體以實例購買頁面為準)。當您為ECS實例綁定SSH密鑰對后,公鑰信息會保存在~/.ssh/authorized_keys文件中,您可以直接使用root或ecs-user通過密鑰對登錄ECS實例。更多信息,請參見通過密碼或密鑰認證登錄Linux實例或通過密鑰認證登錄Linux實例。
當您在Linux實例上新建一個普通用戶時,該用戶目錄下無.ssh/authorized_keys文件,因此,您無法使用該用戶通過SSH密鑰對登錄Linux實例。此時,您只需要將~/.ssh/authorized_keys文件拷貝到該用戶的.ssh目錄下,即可使用您已保存的私鑰文件讓該用戶通過SSH密鑰對登錄Linux實例。
更多密鑰對信息,請參見SSH密鑰對概述。
前提條件
Linux實例已綁定密鑰對。具體操作,請參見綁定SSH密鑰對。
操作步驟
本文以在Alibaba Cloud Linux 3.2104 LTS 64位操作系統的Linux實例上新建user1用戶,然后使用user1用戶通過SSH密鑰對登錄Linux實例為例進行說明,具體操作步驟如下。
遠程連接待登錄的ECS實例。
具體操作,請參見通過密碼或密鑰認證登錄Linux實例。
執行如下命令,創建用戶并查看該用戶的家目錄。
重要必須使用root用戶才能創建新用戶。如果您使用創建實例設置的ecs-user登錄Linux實例,則您需要先執行
sudo su -
命令切換到root用戶后,再執行本操作。useradd user1 ls /home/
執行如下命令,切換到user1用戶目錄并查看目錄路徑。
su - user1 pwd
執行如下命令,創建密鑰對存放目錄.ssh并為該目錄授權。
mkdir .ssh chmod 700 .ssh
執行
exit
命令,退出user1用戶。默認切換到root用戶。
執行如下命令,拷貝authorized_keys文件到user1用戶的.ssh目錄,并進入user1用戶的.ssh目錄。
說明如果您創建實例時設置的登錄名為ecs-user,則authorized_keys文件路徑為/home/ecs-user/.ssh。
cp /root/.ssh/authorized_keys /home/user1/.ssh/ cd /home/user1/.ssh
執行
ls -al
命令,查看authorized_keys文件所屬用戶和組。如果所屬組不為user1,則執行
chown user1:user1 authorized_keys
命令修改所屬組。使用新建用戶遠程連接目標Linux實例。
具體操作,請參見通過密鑰認證登錄Linux實例或通過密碼或密鑰認證登錄Linux實例。當出現如下提示時,表示使用user1用戶通過密鑰對成功登錄目標Linux實例。
相關文檔
如果有多個用戶或管理員需要訪問實例,您可能需要添加或管理其他SSH密鑰對:
除SSH密鑰對外,ECS實例還支持其他連接方式。更多信息,請參見ECS遠程連接方式概述。