J'ai eu un problème de ce genre avec mon propre serveur sftp.
Dans le /etc/ssh/sshd_config, tu as une ligne qui indique quelle est le path pour le programme de "sftp-server". Cela doit ressembler à cela :
Subsystem sftp /usr/lib/openssh/sftp-server
- Vérifie que ce fichier est bien présent dans le chroot lui-même (${CHROOT}/usr/lib/openssh/sftp-server)
- Vérifie que dans ton chroot, tu ais toutes les librairies nécessaires au programme "sftp-server". Utilise la commande "ldd" pour cela :
Remarque : Il faut aussi lancer la commande "ldd" sur chacune des librairies utilisées (exemple : "ldd /lib/ld-linux.so.2")
Autre astuce : utilise "strace" pour regarder quelles fichiers sont recherchés par "sftp-server" lors de son lancement. C'est long et fastidieux, mais cela marche :
- repère le PID du process sshd ( -> PID_SSHD)
- lance en temps que root : stace -t -f -e open /tmp/strace_sshd.txt -p PID_SSHD
# sftp-server ?
Posté par Olivier (site web personnel) . En réponse au message Problème avec sftp chrooté. Évalué à 1.
J'ai eu un problème de ce genre avec mon propre serveur sftp.
Dans le /etc/ssh/sshd_config, tu as une ligne qui indique quelle est le path pour le programme de "sftp-server". Cela doit ressembler à cela :
Subsystem sftp /usr/lib/openssh/sftp-server
- Vérifie que ce fichier est bien présent dans le chroot lui-même (${CHROOT}/usr/lib/openssh/sftp-server)
- Vérifie que dans ton chroot, tu ais toutes les librairies nécessaires au programme "sftp-server". Utilise la commande "ldd" pour cela :
# ldd /usr/lib/openssh/sftp-server
linux-gate.so.1 => (0xffffe000)
libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0xb7f44000)
libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb7e0a000)
libutil.so.1 => /lib/tls/i686/cmov/libutil.so.1 (0xb7e06000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7df2000)
libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7ddc000)
libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb7dae000)
libselinux.so.1 => /lib/libselinux.so.1 (0xb7d99000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7d7d000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb7d01000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7cdc000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb7cd7000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7cd4000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7b9f000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7b9b000)
libsepol.so.1 => /lib/libsepol.so.1 (0xb7b5e000)
/lib/ld-linux.so.2 (0xb7f65000)
Remarque : Il faut aussi lancer la commande "ldd" sur chacune des librairies utilisées (exemple : "ldd /lib/ld-linux.so.2")
Autre astuce : utilise "strace" pour regarder quelles fichiers sont recherchés par "sftp-server" lors de son lancement. C'est long et fastidieux, mais cela marche :
- repère le PID du process sshd ( -> PID_SSHD)
- lance en temps que root : stace -t -f -e open /tmp/strace_sshd.txt -p PID_SSHD