Eu tenho tentado configurar minha máquina mínima de 64 bits do CentOS 6.5 para permitir que usuários SFTP se conectem e sejam presos em pastas específicas. Eu posso usar o comando unix: "sftp user @ localhost" e navegar pelo diretório restrito, mas não posso usar LS ou qualquer outro comando como esse. No entanto, o problema real é que não consigo me conectar usando o FileZilla. Eu simplesmente recebo este erro:
Status: Retrieving directory listing...
Command: pwd
Response: Current directory is: "/"
Command: ls
Status: Listing directory /
Error: Unable to open .: permission denied
Error: Connection timed out after 20 seconds of inactivity
Adoraria poder usar o LS ao usar o comando SFTP no Unix, mas o mais importante é que eu trabalhe com o FileZilla.
Aqui está uma descrição da configuração atual:
/ etc / ssh / sshd_config
Subsystem sftp internal-sftp
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /var/sftp/%u
ForceCommand internal-sftp
usuário do grep / etc / passwd
user:x:500:500::/var/sftp/user/incoming:/sbin/nologin
agrupa usuário
user : user sftp_users
ll / | grep var
drwxr-xr-x root root var
ll / var | grep sftp
drwxr-xr-x root root sftp
ll / var / sftp | usuário do grep
drwxr-xr-x root root user
ll / var / sftp / user
drwxrwxr-x user sftp_users incoming
drwxrwxr-x user sftp_users outgoing
Tudo que li diz que é assim que deve ser configurado, então, por favor, deixe-me saber o que está perdendo. Eu simplesmente não consigo fazer isso funcionar corretamente.
Obrigado pelo seu tempo.
[Editar:]
Eu usei este comando para modificar o diretório pessoal do meu usuário;
usermod -d /incoming
Dessa forma ele iria aterrar em / incoming em vez do caminho completo do diretório como era anteriormente.
usuário do grep / etc / passwd
user:x:500:500::/incoming:/sbin/nologin
ls-lrtd / var / sftp / usuário / entrada
drwxrwxr-x user sftp_users /var/sftp/user/incoming
sshd_config
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp -f AUTH -l INFO
Match Group sftp_users
ChrootDirectory /var/sftp/%u
ForceCommand internal-sftp
No entanto, ainda recebo os mesmos erros do uso do comando SFTP no UNIX e do FileZilla no Windows.
Eu adicionei o registro do nível de depuração à configuração do sshd, mas as mensagens não estão sendo preenchidas no arquivo / var / log / messages para ninguém além do usuário root. Então essa rota não está funcionando atualmente. Além disso, o arquivo / var / log / secure não mostra nenhum erro com a autenticação SFTP e o início da sessão.
saída SFTP
[root@...]# sftp user@localhost
Connecting to localhost...
user@localhost's password:
sftp> ls
Couldn't get handle: Permission denied
sftp> cd ..
sftp> cd incoming
Couldn't canonicalise: Permission denied
sftp> quit
[root@...]#