为第二个用户添加 SSH 密钥

为第二个用户添加 SSH 密钥

我有一个 ubuntu 16.04 服务器安装,最初仅使用 root 用户安装,因此 root 用户主目录是/root。如果我添加另一个用户(例如 bob),则 bob 主目录/home/将按预期创建。如果我想为 bob 添加一个用于 ssh 的公钥,我可以添加/home/bob/.ssh/authorized_keysbob 公钥并将其放入授权密钥文件中。到目前为止这是正确的方法吗?问题是当我尝试时

ssh [email protected] 

我明白了

Permission denied (publickey)

目录.ssh权限设置为700,authorized_key文件权限设置为600。在我的sshd_config密钥文件路径是默认的

#AuthorizedKeysFile     %h/.ssh/authorized_keys

我将 ssh 日志记录设置为详细,但它只显示

Failed publickey for....

我可能做错了什么?它只是寻找/root/.ssh密钥文件吗?

答案1

如果您根据 sshd_config 文件使用then,则服务器正在查找正确的位置(即)。ssh [email protected]/home/bob/.ssh/authorized_keys

但是,根据您的描述,我无法判断您粘贴到authorized_keys 文件中的密钥实际上是否与客户端尝试使用ssh 的密钥相同。从客户端计算机使用将确保 ssh 客户端使用的公钥正确添加到服务器的authorized_keys 文件(对于用户 bob),而不是手动将其粘贴到authorized_keys 文件中。ssh-copy-id [email protected]

答案2

验证您使用的密钥是否正确是第一步。另请检查 sshd 配置以确保启用公钥身份验证:

RSAAuthentication yes
PubkeyAuthentication yes

然后还要检查是否有任何“允许/拒绝”设置,例如“AllowGroups”、“DenyGroups”、“AllowUsers”和“DenyUsers”,这些设置将阻止不属于该组或用户的任何人登录。另一个设置是“ AuthenticationMethods”可能会阻止公钥身份验证单独工作。

相关内容