我最近在我的 digitalocean droplet 中创建了一些新用户,我想使用命令直接访问他们ssh username@ip
。但是,我使用命令被拒绝了username@ip: Permission denied (publickey)
。需要澄清的是,该机器具有正确的私钥,可以使用以下命令访问 dropletssh root@ip
我做了以下来创建新用户
root@school:~# adduser username
Adding user `username' ...
Adding new group `username' (1001) ...
Adding new user `username' (1001) with group `username' ...
Creating home directory `/home/username' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
完成这些步骤后,还需要做什么才能访问 droplet ssh username@ip
?
答案1
“该机器有正确的私钥”
这就是你误解的根本原因。访问权限由以下设备单独控制:每个帐户,不适用于整个机器。
对于您想要使用特定密钥访问的每个帐户,您都需要将关联的公钥附加到~/.ssh/authorized_keys
该帐户主目录中的文件中。
或者换句话说:复制/root/.ssh/authorized_keys
并/home/username/.ssh/authorized_keys
确保这些文件/目录具有正确的所有权和权限。