首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >难以在安装的硬盘上安装SFTP服务器(client_loop:发送断开:连接重置)

问难以在安装的硬盘上安装SFTP服务器(client_loop:发送断开:连接重置)
EN

Unix & Linux用户
提问于 2021-05-24 11:21:55
回答 1查看 3.5K关注 0票数 1

尝试在安装的硬盘上安装SFTP服务器,并按照一堆教程的说明,在登录时总是得到"client_loop:发送断开连接:连接重置“。

我首先创建一个名为sftp的组,然后在HDD中为该组分配一个包含主目录的用户:

代码语言:javascript
复制
sudo useradd -g sftp -d /media/linux/MyHDD/NAS/USERNAME -s /sbin/nologin USERNAME-nas

sudo passwd USERNAME

其中用户名是我的个人用户名

然后,我尝试将用户名文件夹上的所有内容设置为root,将用户名文件夹设置为用户:

代码语言:javascript
复制
sudo chown -R root:root /media

sudo chown -R USERNAME:sftp /media/linux/MyHDD/NAS/USERNAME

编辑了包含以下内容的sshd_config文件:

代码语言:javascript
复制
Subsystem sftp internal-sftp

Match Group sftp
ChrootDirectory /media/linux/MyHDD/NAS/USERNAME
ForceCommand internal-sftp
AllowTcpForwarding no
X11 Forwarding no

不要忘记重新启动sshd服务

代码语言:javascript
复制
sudo systemctl restart sshd

由于我想在linux计算机上访问这个文件夹,所以我将媒体文件夹的权限设置为777。

代码语言:javascript
复制
sudo chmod -R 777 /media

在完成所有这些操作之后,当尝试登录sftp并输入密码时,我会收到以下信息:

代码语言:javascript
复制
sftp -P PORTNO USERNAME@IP

client_loop: send disconnect: Connection reset
Connection closed

这是权限问题,还是所有权问题,我不知道。我在这方面花了很长时间,似乎找不出答案,因此,任何帮助都将不胜感激。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-05-24 12:52:29

代码语言:javascript
复制
ChrootDirectory /media/linux/MyHDD/NAS/USERNAME
[...]
sudo chown -R USERNAME:sftp /media/linux/MyHDD/NAS/USERNAME
[...]
sudo chmod -R 777 /media

"ChrootDirectory“特性要求chroot目录及其父目录具有某些所有权和权限:

ChrootDirectory 将目录的路径名指定为chroot(2)到身份验证后。在会话启动时,sshd(8)检查路径名的所有组件都是根拥有的目录,任何其他用户或组都不能写这些目录。在chroot之后,sshd(8)将工作目录更改为用户的主目录。ChrootDirectory的参数接受令牌部分中描述的令牌。

设置chroot目录的方式有两个问题:

首先,/media、/media/linux/MyHDD/NAS/USERNAME和中间的所有目录都不能是全局或组可写的。它们需要的是模式755而不是777。

第二,/media/linux/MyHDD/NAS/USERNAME本身必须由root拥有。其中的目录和文件可以由用户拥有,但是USERNAME目录本身必须由root拥有。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/651139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档