我一直在试图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@...]#