Luchando para configurar el servidor SFTP en el HDD montado (client_loop: enviar desconexión: restablecer la conexión)

Luchando para configurar el servidor SFTP en el HDD montado (client_loop: enviar desconexión: restablecer la conexión)

Al intentar configurar un servidor SFTP en un disco duro montado y haber seguido las instrucciones de varios tutoriales, siempre aparece "client_loop: enviar desconexión: restablecer conexión" al iniciar sesión.

Comencé creando un grupo llamado sftp, luego asigné un usuario a ese grupo con su directorio de inicio en el HDD:

sudo useradd -g sftp -d /media/linux/MyHDD/NAS/USERNAME -s /sbin/nologin USERNAME-nas

sudo passwd USERNAME

Donde NOMBRE DE USUARIO es mi nombre de usuario personal

Luego intenté establecer la propiedad de todo lo que se encuentra encima de la carpeta NOMBRE DE USUARIO como raíz y la carpeta NOMBRE DE USUARIO para el usuario:

sudo chown -R root:root /media

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

Editó el archivo sshd_config para que contenga:

Subsystem sftp internal-sftp

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

Sin olvidar reiniciar el servicio sshd.

sudo systemctl restart sshd

Como quería acceder a esta carpeta en mi computadora Linux, configuré los permisos en 777 para la carpeta multimedia.

sudo chmod -R 777 /media

Después de hacer todo esto, cuando intento iniciar sesión en sftp e ingresar la contraseña, aparece lo siguiente:

sftp -P PORTNO USERNAME@IP

client_loop: send disconnect: Connection reset
Connection closed

¿Se trata de un problema de permisos o posiblemente de propiedad? No lo sé. He dedicado mucho tiempo a esto y parece que no puedo entenderlo, por lo que agradecería cualquier ayuda.

Respuesta1

ChrootDirectory /media/linux/MyHDD/NAS/USERNAME
[...]
sudo chown -R USERNAME:sftp /media/linux/MyHDD/NAS/USERNAME
[...]
sudo chmod -R 777 /media

La función "ChrootDirectory" requiere que el directorio chroot y sus directorios principales tengancierta propiedad y permisos:

DirectorioChroot
Especifica el nombre de ruta de un directorio al chroot(2) después de la autenticación. Al iniciar la sesión, sshd(8) comprueba queTodos los componentes del nombre de ruta son directorios de propiedad raíz en los que ningún otro usuario o grupo puede escribir.. Después del chroot, sshd(8) cambia el directorio de trabajo al directorio de inicio del usuario. Los argumentos para ChrootDirectory aceptan los tokens descritos en la sección TOKENS.

Hay dos problemas con la forma en que configura su directorio chroot:

Primero, /media, /media/linux/MyHDD/NAS/USERNAMEy todos los directorios intermedios no pueden ser de escritura mundial o grupal. Deben ser el modo 755 en lugar del 777.

En segundo lugar, /media/linux/MyHDD/NAS/USERNAMEdebe ser propiedad de root. Los directorios y archivos que contiene pueden ser propiedad del usuario, pero el USERNAMEdirectorio en sí debe ser propiedad de root.

información relacionada