尝试在已安装的硬盘上设置 SFTP 服务器,并按照大量教程中的说明进行操作,登录时总是出现“client_loop:发送断开连接:连接重置”。
我首先创建一个名为 sftp 的组,然后将一个用户分配给该组,并在 HDD 中设置其主目录:
sudo useradd -g sftp -d /media/linux/MyHDD/NAS/USERNAME -s /sbin/nologin USERNAME-nas
sudo passwd USERNAME
其中 USERNAME 是我的个人用户名
然后我尝试将 USERNAME 文件夹上方所有内容的所有权设置为 root,并将 USERNAME 文件夹的所有权设置为用户:
sudo chown -R root:root /media
sudo chown -R USERNAME:sftp /media/linux/MyHDD/NAS/USERNAME
编辑 sshd_config 文件以包含:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /media/linux/MyHDD/NAS/USERNAME
ForceCommand internal-sftp
AllowTcpForwarding no
X11 Forwarding no
不要忘记重启 sshd 服务
sudo systemctl restart sshd
因为我想在我的 Linux 电脑上访问这个文件夹,所以我将媒体文件夹的权限设置为 777
sudo chmod -R 777 /media
完成所有这些后,当我尝试登录 sftp 并输入密码时,我看到的是:
sftp -P PORTNO USERNAME@IP
client_loop: send disconnect: Connection reset
Connection closed
这是权限问题,还是所有权问题,我不知道。我花了很长时间才搞清楚,所以任何帮助我都会很感激。