5

I'm trying to set up sftp-server but the client is getting an error, Connection closed by server with exitcode 1

/var/log/auth.log (below) doesn't help much, how can I find out what the error is?

I'm running 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

Update: I've been prodding this for a while now, I've got the sftp command on another server giving me a more useful error.

Request for subsystem 'sftp' failed on channel 0
Couldn't read packet: Connection reset by peer

Everything I've found on the net suggests this id a problem with sftp-server but when I remove the chroot from sshd config I can access the system. I assume this means sftp-server is accessible and set up correctly.

5
  • 1
    What OS are you using? Hard to help otherwise...
    – sleske
    Nov 30, 2010 at 1:23
  • Is the user setup with a shell like /sbin/nologin?
    – Rob Olmos
    Nov 30, 2010 at 1:36
  • Sorry, Running Ubuntu 10.04.1 LTS
    – Jake
    Nov 30, 2010 at 1:50
  • @Rob: the users shell is /bin/bash, set because WinSCP was complaining about an incompatible shell and suggested BASH, after the change it still complains.
    – Jake
    Nov 30, 2010 at 1:53
  • Used internal-sftp rather than sftp-server
    – Jake
    Nov 30, 2010 at 5:18

3 Answers 3

1

The sftp-server is an external binary. It's likely not inside your chroot environment.

If you modify sshd_config to use the internal subsystem (if available) it should start working with chroot.

1
  • To debug this problem you could have run sshd in foreground and debug mode.
    – MikeyB
    Jul 29, 2011 at 14:09
3

I had exactly the same problem. Just like MikeyB suggests, you probably need to change the subsystem to internal-sftp. I changed the following in sshd_config:

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

To

Subsystem sftp internal-sftp

You also have to change the ForceCommand value in the Match stanza, to something like this:

Match User john-doe
    ChrootDirectory %h
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

Atleast that worked for me, hope this helps someone.

2
  • 1
    Oh, I just realized this wasn't really an answer to the question. More of a solution to the error in the logs.
    – Henko
    Apr 19, 2012 at 11:19
  • Thank you! I've been searching for a way to debug/fix this issue for about an hour, and your answer was spot on!
    – Jon-Erik
    May 21, 2014 at 18:24
0

Just had this myself.

The user simply needed to have SSH permissions.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .