公钥文件在我的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?
我猜 'root' 不允许登录,因为它不是 AllowGroups 中任何组的成员。您已添加
AllowGroups ssh sftp
到配置中,但忘记将“root”添加到“ssh”组中。使用您的 VPS 提供商的“控制台访问”或“救援外壳”功能来解决这个问题。
将“root”添加到“ssh”组中。