Por favor, tente mover linha do subsistema sftp internal-sftp do seu bloco existente para # substituir o padrão de nenhum subsistema em sshd_config
Funcionou para mim.
Estou tentando configurar uma conta sftp para uma pasta específica. Eu criei um grupo ftpaccess
e usuário testuser
com o diretório home como visto aqui:
sudo addgroup ftpaccess
sudo useradd -d /home/forge/mydomain.com/downloads -m testuser -g ftpaccess -s /bin/false
sudo passwd testuser
sudo chown root:root /home/forge/mydomain.com/downloads
sudo chmod 755 /home/forge/mydomain.com/downloads
Em seguida, criei um diretório de transferências dentro da pasta testuser
home:
sudo mkdir /home/forge/mydomain.com/downloads/transfers
sudo chown testuser:ftpaccess /home/forge/mydomain.com/downloads/transfers
Então eu configurei sshd_config
desse jeito (regras adicionadas ao final do arquivo):
# SFTP account
Subsystem sftp internal-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
PasswordAuthentication yes
Agora tentamos falsificar com este usuário sftp testuser@localhost
, mas recebo um erro:
packet_write_wait: Connection to 127.0.0.1 port 22: Broken pipe
Couldn't read packet: Connection reset by peer
O que estou fazendo de errado?
Por favor, tente mover linha do subsistema sftp internal-sftp do seu bloco existente para # substituir o padrão de nenhum subsistema em sshd_config
Funcionou para mim.