在远程服务器上,我想创建一个普通用户,并且只允许通过密钥进行访问,但我不想先使用密码创建帐户,然后再禁用密码访问。在远程服务器上的管理员帐户中,我执行了以下操作:
sudo adduser --disabled-password normaluser
根据需要,尝试以“普通用户”身份连接会被拒绝:
普通用户@服务器:权限被拒绝(公钥)
根据adduser
手册页:
--disabled-password 选项不会设置密码,但仍然可以登录(例如使用 SSH RSA 密钥)。
不确定在这种情况下应该如何生成 ssh 密钥,我使用sudo su
来创建normaluser
帐户并生成密钥ssh-keygen
。
然后,我尝试使用公钥和私钥文件(复制到本地计算机),然后 ssh 进入远程计算机normaluser
,指定适当的密钥文件,ssh -i
但我仍然得到access denied (publickey)
答案1
确保您的密钥已添加到 /home/normaluser/.ssh/authorized_keys 授权密钥是每个用户,这意味着仅仅因为密钥可用于登录另一个用户并不意味着您可以使用它以任何用户身份登录。