Chrooted SSH-SFTP 不起作用

Chrooted SSH-SFTP 不起作用

不久前我迁移了一台服务器,它运行良好,即使是 chrooted SSH 帐户也是如此。然而,客户端刚刚注意到,在这些服务器上 SFTP 不起作用:

Error:  Received unexpected end-of-file from SFTP server
Error:  Could not connect to server

旧服务器是 debian 7,新服务器是 debian 8,因此我假设 chroot 中的某些二进制文件不再工作(gcc 3 --> 4 问题),但这似乎对 chrooted ssh 来说不是问题,它确实工作正常。我注意到,如果我在 Match bloc 中为用户添加“ForceCommand sftp-internal”,SFTP 就可以正常工作。但这当然会破坏 ssh。用于 SFTP 的子系统是 /usr/lib/openssh/sftp-server,我尝试切换到“sftp-internal”,但没有成功,更糟糕的是,这会破坏非 chrooted 帐户的 sftp。

有什么想法吗?尝试从 SFTP 客户端登录时,在 DEBUG 中运行 sshd 不会输出任何错误。

总结:

SSH into chrooted or non-chrooted accounts : OK
SFTP into non-chrooted account : OK
SFTP into chrooted account : NOK

谢谢

编辑 :

chroot 定义如下:

Match User some_user
ChrootDirectory /ha.0/some_user

该目录包含一个文件系统,其中有所需的一切,bash,一些库......

编辑 2:完成 ssh 配置

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
UsePrivilegeSeparation yes

KeyRegenerationInterval 3600
ServerKeyBits 768

SyslogFacility AUTH
LogLevel INFO

LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes

IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no

PermitEmptyPasswords no

ChallengeResponseAuthentication no

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes

AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server
#Subsystem sftp sftp-internal

UsePAM yes

AllowUsers ...

AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys2

Match User some_user
ChrootDirectory /ha.0/some_user

相关内容