Lutando para configurar o servidor SFTP no HDD montado (client_loop: enviar desconexão: redefinição de conexão)

Lutando para configurar o servidor SFTP no HDD montado (client_loop: enviar desconexão: redefinição de conexão)

Ao tentar configurar um servidor SFTP em um disco rígido montado e seguir as instruções de vários tutoriais, sempre obtenha "client_loop: enviar desconexão: redefinição de conexão" no login.

Comecei criando um grupo chamado sftp e, em seguida, atribuindo um usuário a esse grupo com seu diretório inicial no disco rígido:

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

sudo passwd USERNAME

Onde USERNAME é meu nome de usuário pessoal

Em seguida, tentei definir a propriedade de tudo acima da pasta USERNAME para root e a pasta USERNAME para o usuário:

sudo chown -R root:root /media

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

Editou o arquivo sshd_config para conter:

Subsystem sftp internal-sftp

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

Não esquecendo de reiniciar o serviço sshd

sudo systemctl restart sshd

Como eu queria acessar esta pasta no meu computador Linux, configurei as permissões para 777 para a pasta media

sudo chmod -R 777 /media

Depois de fazer tudo isso, ao tentar fazer login no sftp e inserir a senha, sou recebido com:

sftp -P PORTNO USERNAME@IP

client_loop: send disconnect: Connection reset
Connection closed

Isso é um problema de permissão ou possivelmente um problema de propriedade, não sei. Passei muito tempo nisso e não consigo descobrir, então qualquer ajuda seria apreciada.

Responder1

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

O recurso "ChrootDirectory" requer que o diretório chroot e seus diretórios pai tenhamcertas propriedades e permissões:

Diretório Chroot
Especifica o nome do caminho de um diretório para chroot(2) após a autenticação. Na inicialização da sessão, o sshd(8) verifica setodos os componentes do nome do caminho são diretórios de propriedade raiz que não podem ser gravados por nenhum outro usuário ou grupo. Após o chroot, sshd(8) muda o diretório de trabalho para o diretório inicial do usuário. Os argumentos para ChrootDirectory aceitam os tokens descritos na seção TOKENS.

Existem dois problemas na maneira como você configura seu diretório chroot:

Primeiro, /media, /media/linux/MyHDD/NAS/USERNAME, e todos os diretórios intermediários não podem ser graváveis ​​em todo o mundo ou em grupo. Eles precisam estar no modo 755 em vez de 777.

Em segundo lugar, /media/linux/MyHDD/NAS/USERNAMEele próprio deve pertencer ao root. Os diretórios e arquivos dentro dele podem pertencer ao usuário, mas o USERNAMEdiretório em si deve pertencer ao root.

informação relacionada