CentOS 6.5 ssh ChrootDirectory无法正常工作

我一直在试图configuration我的CentOS 6.5最小64位机器,以允许SFTP用户连接并被关进特定的文件夹。 我可以使用unix命令:“sftp user @ localhost”并在受限制的目录内移动,但是我不能使用LS或其他类似的命令。 但是,真正的问题是我无法使用FileZilla进行连接。 我只是得到这个错误:

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 

我希望能够在Unix中使用SFTP命令时使用LS,但最重要的是我需要它与FileZilla一起工作。

以下是对当前设置的描述:

的/ etc / SSH / sshd_config中

 Subsystem sftp internal-sftp Match Group sftp_users X11Forwarding no AllowTcpForwarding no ChrootDirectory /var/sftp/%u ForceCommand internal-sftp 

grep用户/ etc / passwd

 user:x:500:500::/var/sftp/user/incoming:/sbin/nologin 

组用户

 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 | grep用户

 drwxr-xr-x root root user 

ll / var / sftp / user

 drwxrwxr-x user sftp_users incoming drwxrwxr-x user sftp_users outgoing 

我读过的所有东西都说它是应该设置的,所以请让我知道我错过了什么。 我似乎无法让它正常工作。

谢谢你的时间。

[编辑:]

我用这个命令来修改我的用户的主目录;

 usermod -d /incoming 

这样他就会像以前那样登陆/进入,而不是像目录的完整path。

grep用户/ etc / passwd

 user:x:500:500::/incoming:/sbin/nologin 

ls -lrtd / var / sftp / user / incoming

 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 

但是,我仍然在Windows上使用UNIX和FileZilla中的SFTP命令时遇到同样的错误。

我将debugging级别日志logging添加到sshdconfiguration文件中,但是除了root用户之外,其他任何人都不会在/ var / log / messages文件中填充这些消息。 所以这条路线目前不能工作。 此外,/ var / log / secure文件不会在SFTP身份validation和会话启动时显示任何错误。

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@...]#