.png)
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/USERNAME
y 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/USERNAME
debe ser propiedad de root. Los directorios y archivos que contiene pueden ser propiedad del usuario, pero el USERNAME
directorio en sí debe ser propiedad de root.