为什么添加新的sftp用户后无法用ssh登录vps?

为什么添加新的sftp用户后无法用ssh登录vps?

公钥文件在我的 vps 上,私钥文件在我的本地电脑上。

/etc/ssh/sshd_config在我的vps中:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

每次我都可以使用以下命令登录我的 vps private key

ssh root@$vps_ip 

今天我为 sftp 安装了一个新用户:

groupadd sftp
useradd -g sftp -d /sftp -s /sbin/nologin ipcamera
mkdir -p /sftp/ipcamera/files

chmod 500 /sftp 
chmod 700 /sftp/ipcamera/files
chown root:sftp /sftp/ipcamera
chown ipcamera:sftp /sftp/ipcamera/files
echo "ipcamera:w+w_w+w" | chpasswd

vim /etc/ssh/sshd_config
AllowGroups ssh sftp
Match Group sftp
    ChrootDirectory /sftp/%u
    ForceCommand internal-sftp
    PasswordAuthentication  yes

在 VPS 中重启我的 sshd

systemctl restart sshd

ipcamera然后我可以使用用户和密码 登录 sftp w+w_w+w

sftp  ipcamera@$vps_ip

奇怪的事情发生了,我无法使用ssh命令登录vps!

ssh  root@$vps_ip 
Permission denied (publickey).

为什么添加新的sftp用户后无法用ssh登录vps?

答案1

我猜想“root”是不允许登录的,因为不是 AllowGroups 中任何组的成员。您已添加AllowGroups ssh sftp到配置,但忘记将“root”添加到“ssh”组。

使用您的 VPS 提供商的“控制台访问”或“救援外壳”功能来解决此问题。

答案2

将“root”添加到“ssh”组。

usermod -aG ssh root

相关内容