CentOS 6.5 ssh ChrootDirectory não funciona

1

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@...]#
    
por Hussein Sabbagh 30.03.2015 / 06:41

0 respostas