sftp监狱用户。 winscp中的错误

我有一个configuration,特定的用户只能在sftplogin而不是ssh。
用户也被关在特定的目录中。

假设用户名是stefanos ,他的根目录是/vhosts/wild.domain.com/
该目录使用mount -o bind /var/www/websites/site1/ /vhosts/wild.domain.com/进行mount -o bind /var/www/websites/site1/ /vhosts/wild.domain.com/

sshd_config是:

 Match user stefanos ChrootDirectory /vhosts/wild.domain.com/ ForceCommand internal-sftp 

日志是:

 Jun 23 15:42:52 hostname sshd[32447]: Accepted password for stefanos from 11.22.33.44 port 64759 ssh2 Jun 23 15:42:52 hostname sshd[32447]: pam_unix(sshd:session): session opened for user stefanos by (uid=0) Jun 23 15:42:52 hostname sshd[32572]: subsystem request for sftp Jun 23 15:43:07 hostname sshd[32447]: pam_unix(sshd:session): session closed for user stefanos 

问题是(由WinSCP抛出):

 Cannot get real path for '/var/www/websites/site1'. No such file or directory. Error code: 2 Error message from server: No such file Request code: 16 

奇怪的是,当我点击确定的错误消息,然后login正确的所有目录在他们的地方..我在这里失踪?

chroot设置/是那个目录。 用户主目录显然被设置为/var/www/websites/site1所以当WinSCPlogin时,它试图在用户的主目录中启动,在实际的系统上它将是/vhosts/wild.domain.com/var/www /网站/ site1的

假定这个stefanos用户只能通过sftp访问系统,将主目录设置为/是安全的。 否则,如果在WinSCP的“目录”选项卡中设置默认的远程目录,我认为这个消息可能会消失。