恢复已删除的目录后,SFTP 服务器出现连接错误

恢复已删除的目录后,SFTP 服务器出现连接错误

前段时间我设置了一个 SFTP 服务器,运行良好。我的 ssh_config 中有这样的配置

# override default of no subsystems
#Subsystem      sftp    /usr/lib/openssh/sftp-server
Subsystem       sftp    internal-sftp

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       PermitTTY no
#       ForceCommand cvs server

Match User miscout
  # Force the connection to use SFTP and chroot to the required directory.
  ForceCommand internal-sftp
  ChrootDirectory %h
  # Disable tunneling, authentication agent, TCP and X11 forwarding.
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no


Match Group sftp_users
  ChrootDirectory /mnt/reos-storage-1/sftp_data/%u
  ForceCommand internal-sftp
  # Disable tunneling, authentication agent, TCP and X11 forwarding.
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no

有一个用户组sftp_users和一个名为sftpuser1

今天,为了好玩,我决定意外删除目录/mnt/reos-storage-1/sftp_data。我随后重新创建了目录和子目录,但现在我无法连接到 sftp 服务器。我收到如下错误:

$ sftp sftpuser1@<redacted>
sftpuser1@<redacted>'s password: 
packet_write_wait: Connection to 192.41.113.249 port 22: Broken pipe
Connection closed

我可以以其他用户的身份 ssh 进入该机器。

我猜想可能是我对此目录的权限设置不正确,因为这是我唯一更改过的内容。当前权限和所有权如下所示:

[root] /mnt/reos-storage-1 $ ls -l sftp_data/
total 4
drwxrwx--x 3 root root 4096 Jun 23 13:22 sftpuser1
[root] /mnt/reos-storage-1 $ ls -l sftp_data/sftpuser1/
total 4
drwxrwx--x 3 sftpuser1 sftp_users 4096 Jun 23 13:23 upload
[root] /mnt/reos-storage-1 $ ls -l sftp_data/sftpuser1/upload/
total 864
drwxrwx--x 2 sftpuser1 sftp_users 884736 Jun 23 16:06 MiScout

谁能告诉我我做错了什么?

答案1

我的回答是在这个问题

Chroot 目录部分的所有部分的权限都需要为 root.root.755。所以在我的情况下,这是 sftp_data 和 sftpuser1 目录。

相关内容