SFTP + Jailkit mit ISPConfig 3.0.5.1 und Debian Wheezy

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von mattula, 22. März 2013.

  1. mattula

    mattula Member

    [Solved] SFTP + Jailkit mit ISPConfig 3.0.5.1 und Debian Wheezy

    Hi,

    ich habe die aktuelle ISPConfig Version auf Debian Wheezy installiert.
    Bislang gibt es nur ein Problem:

    SSH Login mit und ohne Jailkit funktioniert.
    SFTP ohne Jailkit tut auch.

    Aber SFTP mit Jailkit mag nicht.

    Die Connection geht kurz auf und gleich wieder zu.
    Im SSH Debug Log sehe ich keine aussagekräftige Fehlermeldung, ausser, dass offensichtlich direkt nach dem Login die Client / Server Kommunikation gestört ist. Sprich der Server ist nach kurzer Zeit der Meinung, der Client hätte sich verabschiedet.

    Ein Vergleich von SSH und Jailkit Config mit einem ISPConfig 3.0.4 auf Debian Squeeze Setup offenbart mir erstmal keine Unterschiede.

    Liegt's am Setup mit Debian Wheezy?
    Ist es die verwendete aktuelle Jailkit Version 2.15-1 ?
    Macht das neue ISPConfig was anders?

    Ich habe an ssh und jailkkit Config keine manuelle Modifikation vorgenommen.
    Lediglich Password-Auth mal abgeschaltet - aber es tut weder mit noch ohne noch mit oder ohne Key-Auth.

    Hat jemand das Problem mit Debian Squeeze und ISPConfig 3.0.5.1?

    Hier ein kleiner Auszug aus dem sshd Log mit Debuglevel 3. Die Authentifizierung hat bis zu diesem Punkt schon erfolgreich stattgefunden. Der Fehler scheint im Aufruf von jk_chrootssh zu liegen, danach bricht die Session weg:

    Code:
    Mar 22 21:48:36 webcl1 sshd[19187]: debug3: Copy environment: LANG=en_US.UTF-8
    Mar 22 21:48:36 webcl1 sshd[19187]: debug3: Copy environment: LANGUAGE=en_US:en
    Mar 22 21:48:36 webcl1 jk_chrootsh[19187]: now entering jail /var/www/clients/client2/web2 for user xxxxxxxxx (1003) with arguments -c /usr/lib/openssh/sftp-server
    Mar 22 21:48:36 webcl1 sshd[19186]: debug1: Received SIGCHLD.
    Mar 22 21:48:36 webcl1 sshd[19186]: debug1: session_by_pid: pid 19187
    Mar 22 21:48:36 webcl1 sshd[19186]: debug1: session_exit_message: session 0 channel 0 pid 19187
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: request exit-status confirm 0
    Mar 22 21:48:36 webcl1 sshd[19186]: debug1: session_exit_message: release channel 0
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: write failed
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: close_write
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: send eow
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: output open -> closed
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: read<=0 rfd 9 len 0
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: read failed
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: close_read
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: input open -> drain
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: read 27 from efd 11
    Mar 22 21:48:36 webcl1 sshd[19186]: debug3: channel 0: discard efd
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: ibuf empty
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: send eof
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: input drain -> closed
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: send close
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: notify_done: reading
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: read 0 from efd 11
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: closing read-efd 11
    Mar 22 21:48:36 webcl1 sshd[19186]: debug3: channel 0: will not send data after close
    Mar 22 21:48:36 webcl1 sshd[19186]: debug2: channel 0: rcvd close
    Mar 22 21:48:36 webcl1 sshd[19186]: Received disconnect from 1.2.3.4: 11: disconnected by user
    Mar 22 21:48:36 webcl1 sshd[19186]: debug1: do_cleanup
    
    Matthias
     
    Zuletzt bearbeitet: 25. März 2013
  2. PatrickR

    PatrickR Member

    Habe genau das selbe problem allerdings mit ISPConfig 3.0.4.2
     
  3. mattula

    mattula Member

    Welche Jailkit, SSH, Linux-OS Version?
     
  4. mattula

    mattula Member

    Jetzt habe ich mal testweise die Jailkit Version 2.14 paketiert und installiert (so wie ich sie auch unter Debian Squeeze erfolgreich am laufen habe).
    Leider das gleiche Verhalten.
     
  5. mattula

    mattula Member

    Jailkit User: No user found for uid

    Ich nähere mich dem Problem.

    Wenn ich mich als Jailkit User per SSH einlogge und dann das sftp Server Binary aufrufe, kommt folgende Meldung:

    Code:
    xxxx:/$ usr/lib/openssh/sftp-server -e -d debug
    No user found for uid 1003
    
    Ein
    Code:
    whoami
    gibt mir ebenfalls keine ID zurück.

    Also ist wohl irgendwie die Jail-Root nicht korrekt.

    Aber an was kann das liegen?

    Jailkit war definitiv installiert, bevor ich ISPConfig installiert habe.
    Das ganze System ist recht frisch, streng nach HowTo aufgesetzt und die Installation lief auch fehlerfrei durch.

    :confused: Matthias
     
  6. mattula

    mattula Member

    Die passwd in der Chroot existiert und fuer den User lesbar:

    Code:
    :/$ cat etc/passwd 
    root:x:0:0:root-webcl2-schwabe:/root:/bin/bash
    testuser:x:1003:1005:::/bin/bash
    
     
  7. mattula

    mattula Member

    Problem gelöst. Die für die uid Auflösung benötigten Libs haben in der Chroot gefehlt.

    Unter Debian Wheezy 64-bi sind /lib/libnsl.so.1 und /lib/libnss*.so.2 (und viele andere) nach /lib/x86_64-linux-gnu/ gewandert.
    D.h. das Hinzufügen dieses Pfades in der /etc/jailkit/jk_init.ini löst das Problem.

    Code:
    [uidbasics]
    # this section probably needs adjustment on 64bit systems
    # or non-Linux systems
    comment = common files for all jails that need user/group information
    libraries = /lib/libnsl.so.1, /lib64/libnsl.so.1, /lib/libnss*.so.2, /lib64/libnss*.so.2, /lib/x86_64-linux-gnu/libnsl.so.1, /lib/x86_64-linux-gnu/libnss*.so.2
    regularfiles = /etc/nsswitch.conf, /etc/ld.so.conf
    
    [netbasics]
    comment = common files for all jails that need any internet connectivity
    libraries = /lib/libnss_dns.so.2, /lib64/libnss_dns.so.2, /lib/x86_64-linux-gnu/libnss_dns.so.2
    regularfiles = /etc/resolv.conf, /etc/host.conf, /etc/hosts, /etc/protocols
    
    Die Änderung zieht allerdings nur für neue angelegte Websites und zugeordnete Shell-User.

    Bestehende User müssen wohl mit dem jk_update Kommando entsprechend aktualisiert werden.

    Das Ganze ist kein ISPConfig Fehler, sondern wäre in dem Fall seitens jailkit für Debian Wheezy anzupassen. Werde einen Request an die Entwickler stellen.

    Matthias :)
     
  8. mattula

    mattula Member

    Hier ist er:
    https://savannah.nongnu.org/bugs/index.php?38596
     

Diese Seite empfehlen