.png)
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/USERNAME
ele próprio deve pertencer ao root. Os diretórios e arquivos dentro dele podem pertencer ao usuário, mas o USERNAME
diretório em si deve pertencer ao root.