Winscp 到 Linux 客户 SCP 账户,访问被拒绝

Winscp 到 Linux 客户 SCP 账户,访问被拒绝

我正在尝试在 Kali Linux 机器上设置一个受限制的 SFTP 帐户,以便我可以让随机同事转储文件,而无需向他们提供大量访问权限(或我的密码)。我遵循了以下说明:https://www.maketecheasier.com/use-sftp-transfer-files-linux-servers/ 创建 sftpuser 帐户并下载文件夹。我创建了组,并赋予组和用户文件夹的所有权和权限,在 /etc/sshd_config 中使用以下行指定它

   Match Group sftp_group
   ChrootDirectory /home/sftpuser/uploadedfiles
   ForceCommand internal-sftp

我使用 systemctl start ssh.socket 将其打开,然后当我尝试使用 sftpuser 帐户 winscp 时,出现访问被拒绝的情况。我可以使用我的主帐户正常 winscp,但我错过了一些东西或者错误配置了 sftpuser 的某些内容。有人知道我需要做什么来修复它吗?我是否必须以某种方式在 winscp 连接中指定允许的文件夹?我需要向 sftp_group 或 sftpuser 添加更多权限吗?或者在 sshd_config 中添加另一行?或者注释掉一行?我一直在 Google 上搜索并查看不同的指南,但我不确定为什么它在最初的身份验证阶段就失败了。我甚至对用户执行了 passwd 命令来重置密码并确保密码正确。

编辑:在 /etc/passwd 中用户显示如下:

sftpuser:x:1001:1001::/home/sftpuser:/usr/libexec/openssh/sftp-server 

(当我输入这些内容时,也许这就是问题所在?路径可能是错误的,我认为在这个发行版中它应该是 /usr/lib/openssh/sftp-server?至少这是在 sshd_config 中列为子系统的内容)。——我更改了 shell,仍然出现身份验证错误。组显示为

sftp:group:x:1002:sftpuser

文件夹和子文件夹的权限如下

drwxr-xr-x 3 root   sftp_group   4096   Jul 13   10:36 sftpuser

然后在 sftpuser 文件夹中:

drwxr-xr-x 2 sftpuser   sftp_group   4096   Jul 13 10:36 uploadedfiles

答案1

ChrootDirectory /home/sftpuser/uploadedfiles
drwxr-xr-x 3 root   sftp_group   4096   Jul 13   10:36 sftpuser
drwxr-xr-x 2 sftpuser   sftp_group   4096   Jul 13 10:36 uploadedfiles

及其父ChrootDirectory目录必须由 root 拥有(并且不能由组或其他用户写入)。对于您的情况,您可能希望创建 chroot 目录/home/sftpuser而不是/home/sftpuser/uploadedfiles

相关内容