Ubuntu 12 / ISPConfig 3 / Jailkit & SFTP

Discussion in 'Installation/Configuration' started by driverdave, Jul 30, 2012.

  1. driverdave

    driverdave New Member

    hi,

    i am using ubuntu 12 and ispconfig. i followed instructions here: http://www.howtoforge.com/perfect-server-ubuntu-12.04-lts-apache2-bind-dovecot-ispconfig-3

    everything seems to be working (although quotas did not work from the instructions above) except i cannot SFTP with a shell user created with the "Chroot Shell" option enabled.

    when SSH, the username and password is accepted. when using an SFTP client such as transmit (OSX), i get the error "username and password has been rejected". the server logs do not reflect this error, the client simply disconnects.

    SFTP is enabled in the ispconfig server setup (the jailkit tab under Jailkit chroot app sections). should i add the server path for sftp under Jailkit chrooted applications?

    SFTP with jailed users works fine for our CENTOS based box.

    our main concern is giving someone an SFTP or FTP login that is locked to a directory, without them having to know what directory to upload files into.

    has anyone been successful is getting SFTP with jailed users to work with ubuntu 12 and ispconfig 3? i've scoured the forums and have not been successful.

    i've included the auth.log entry from an SFTP attempt below. i'm not seeing any errors. should i be looking in a different log file?

    thanks,
    - dave



    /var/log/auth.log
    Jul 30 17:42:05 srv3 sshd[2124]: lastlog_openseek: Couldn't stat /var/log/lastlog: No such file or directory
    Jul 30 17:42:25 srv3 sshd[2191]: Accepted password for usernamehere from iphere port 52894 ssh2
    Jul 30 17:42:25 srv3 sshd[2191]: pam_unix(sshd:session): session opened for user usernamehere by (uid=0)
    Jul 30 17:42:26 srv3 sshd[2326]: subsystem request for sftp by user usernamehere
    Jul 30 17:42:26 srv3 jk_chrootsh[2327]: now entering jail /var/www/clients/client1/web4 for user usernamehere (5006) with arguments -c /usr/lib/openssh/sftp-server
    Jul 30 17:42:26 srv3 sshd[2326]: Received disconnect from clientsideiphere: 11: disconnected by user
    Jul 30 17:42:26 srv3 sshd[2191]: pam_unix(sshd:session): session closed for user usernamehere



    client side transmit log
    Transmit 4.0.6 (x86_64) Session Transcript [Version 10.7.4 (Build 11E53)] (7/30/12 1:42 PM)
    Connecting to serveriphere

    Disconnecting from server…
     
  2. driverdave

    driverdave New Member

    i've made some progress.

    first, the subsystem in sshd_config needs to be edited.

    vi /etc/ssh/sshd_config

    change

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

    to

    Subsystem sftp internal-sftp

    this will allow you to SFTP, but the user is not actually jailed to any directory. to do this, you need to add the following to sshd_config

    Match Group client0
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no

    %h is the user's home directory. this needs to be owned by root in order for the jail to work.

    and finally, you need to create a directory for the user to SFTP files into in their home directory, with the user's permissions.

    i'm going to dig around ispconfig's code to see if i can automate this. or maybe add users outside of ispconfig, since i think the root permissions on their directories may not be the best thing.
     
  3. symka

    symka New Member

Share This Page