我正在尝试设置sftp服务器,但客户端出现错误, Connection closed by server with exitcode 1
/var/log/auth.log(下面)没有什么帮助,我怎么能找出错误是什么?
我正在运行Ubuntu 10.04.1 LTS
sshd[27236]: Accepted password for theuser from (my ip) port 13547 ssh2 sshd[27236]: pam_unix(sshd:session): session opened for user theuser by (uid=0) sshd[27300]: subsystem request for sftp sshd[27236]: pam_unix(sshd:session): session closed for user theuser
更新:我一直在刺激这一段时间,我已经在另一台服务器上的sftp命令给我一个更有用的错误。
Request for subsystem 'sftp' failed on channel 0 Couldn't read packet: Connection reset by peer
我在网上find的一切都表明这个ID是sftp-server的问题,但是当我从sshd config中删除了chroot时,我可以访问系统。 我认为这意味着sftp服务器可以访问和设置正确。
sftp-server是一个外部二进制文件。 这可能不在你的chroot环境中。
如果修改sshd_config以使用内部子系统(如果可用),则应该使用chroot开始工作。
我有完全一样的问题。 就像MikeyBbuild议的那样,您可能需要将子系统更改为internal-sftp。 我在sshd_config中更改了以下内容:
Subsystem sftp /usr/lib/openssh/sftp-server
至
Subsystem sftp internal-sftp
您还必须更改Match节中的ForceCommand值,如下所示:
Match User john-doe ChrootDirectory %h AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp
至less为我工作,希望这有助于某人。
刚刚有这个自己。
用户只需要拥有SSH权限。