# Serveur sftp, shell réduit (rssh) et chroot

**URL:** <https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813>\
**Category:** Trucs et Astuces\
**Created:** [Février 20, 2016, 10:25 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813 "2016-02-20T22:25:40Z")\
**Posts on this page:** 20\
**Page:** 7

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 2:02 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/121 "2016-02-21T14:02:10Z")

</div>

Voilà qui est déjà plus simple.  
Mais est-ce que ça peut être moi qui «&nbsp;fabrique&nbsp;» les deux clefs, pub et priv ?  
Dans ce cas, je les installe où ça va bien et je n’ai qu’à envoyer la clef privée à chaque ayant-droit.  
Comme, dans mon cas, tout les ayant-droits ont les même possibilités de vue et de TC sur le seul dossier ‹&nbsp;sftp\>&nbsp;›… ![:017](https://www.debian-fr.org/uploads/default/original/1X/7bbea83f89515ab7c7a738dddb86c4d4f140bd13.gif "reflechit")  
Il est même possible qu’ils n’aient que l’acceptation à formuler, comme c’est le cas pour son propre réseau ???  
La question va être de trouver la gestion qui va bien dans FileZilla et/ou en ligne de commande…  
Vais être occupé encore pendant un bout de temps, moi 😕

EDIT :  
Suis tombé sur cette page assez explicite pour un éternel débutant comme moi :  
[http://formation-debian.via.ecp.fr/ssh.html#idp11849648](http://formation-debian.via.ecp.fr/ssh.html#idp11849648)  
et celle-là, sensiblement identique :  
[http://www.tuteurs.ens.fr/internet/loin/ssh.html](http://www.tuteurs.ens.fr/internet/loin/ssh.html)

Ces deux pages m’ont permis de comprendre un peu mieux les différents systèmes de clefs.

---

<div class="post-metadata">

**Author:** ![lol](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lol/32/15629_2.png) [@lol](https://www.debian-fr.org/u/lol)\
**Post date:** [Février 21, 2016, 2:02 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/122 "2016-02-21T14:02:34Z")

</div>

Salut,

> [@ricardo](#):
>
> Mais est-ce que ça peut être moi qui «&nbsp;fabrique&nbsp;» les deux clefs, pub et priv ?

Oui, pourquoi pas, mais tu as une clef privé que va se balader…  
Ce n’est pas ce qu’il y a de mieux pour la sécurité… 😉

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 2:02 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/123 "2016-02-21T14:02:35Z")

</div>

Oui bien sûr, tu as raison.  
On va voir si Yann nous trouve quelque chose qui puisse être sécurisé et que l’on peut généraliser à tous les ayant-droits.  
Puisque dans mon cas, tous ceux qui sont “accrédités” sur mon sftp ont vu sur les mêmes dossiers, il serait pratique qu’ils aient la même clef … ou un autre système.  
je ne fais que poser une question qui appelle certainement des remarques.

---

<div class="post-metadata">

**Author:** ![kri2sis](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kri2sis/32/2982_2.png) [@kri2sis](https://www.debian-fr.org/u/kri2sis)\
**Post date:** [Février 21, 2016, 2:14 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/124 "2016-02-21T14:14:16Z")

</div>

bonjour  
je tente le sftp du wiki, mais à peine au début que j’ai ça : root@debian-server:~# subsystem sftp /usr/lib/openssh/sftp-server  
-bash: subsystem : commande introuvable  
j’ai cherché sans trouvé (peut etre mal cherché mais rien ne donne de commande qui puisse indiquer à sshd ou se trouve sftp-server)

vous auriez une idée svp ?

merci

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 2:14 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/125 "2016-02-21T14:14:16Z")

</div>

Ce n’est pas une commande, c’est un ligne à mettre dans le fichier de configuration de ssh.

---

<div class="post-metadata">

**Author:** ![kri2sis](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kri2sis/32/2982_2.png) [@kri2sis](https://www.debian-fr.org/u/kri2sis)\
**Post date:** [Février 21, 2016, 2:14 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/126 "2016-02-21T14:14:16Z")

</div>

ah mince 😊 (ls deux pieds dedans…)

merci

mon dossier se présentant comme àa, dois-décommenter des “fonctions” ?

[code]Host \*

# ForwardAgent no

# ForwardX11 no

# ForwardX11Trusted no

# RhostsRSAAuthentication no

# RSAAuthentication yes

# PasswordAuthentication yes

# HostbasedAuthentication no

# GSSAPIAuthentication no

# GSSAPIDelegateCredentials no

# GSSAPIKeyExchange no

# GSSAPITrustDNS no

# BatchMode no

# CheckHostIP yes

# AddressFamily any

# ConnectTimeout 0

# StrictHostKeyChecking ask

# IdentityFile ~/.ssh/identity

# IdentityFile ~/.ssh/id\_rsa

# IdentityFile ~/.ssh/id\_dsa

# Port 666

# Protocol 2,1

# Cipher 3des

# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3$

# MACs [hmac-md5,hmac-sha1,umac-64@openssh.com](mailto:hmac-md5,hmac-sha1,umac-64@openssh.com),hmac-ripemd160

# EscapeChar ~

# Tunnel no

# TunnelDevice any:any

# PermitLocalCommand no

# VisualHostKey no

# ProxyCommand ssh -q -W %h:%p [gateway.example.com](http://gateway.example.com)

```
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no

```

Subsystem sftp /usr/lib/openssh/sftp-server  
[/code]

`root@debian-server:~# ./copie_binaire /usr/bin/sftp /home/sftp
./copie_binaire: line 4: [!-e : commande introuvable
./copie_binaire: line 4: [!-e : commande introuvable
./copie_binaire: line 4: [!-e : commande introuvable
./copie_binaire: line 4: [!-e : commande introuvable
./copie_binaire: line 4: [!-e : commande introuvable
./copie_binaire: line 4: [!-e : commande introuvable`  
pourquoi donc ?(je suis verni décidément !!

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 2:14 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/127 "2016-02-21T14:14:17Z")

</div>

Le présent tuto, celui de la première page car les autres, je ne sais pas s’il ont été ou non modifiés, doit être suivi À LA LETTRE  
J’ai l’impression que tu chesse trop de lièvres à la fois.  
Cantonne-toi à une chose et passe à une seconde qaund la première est résolue.

---

<div class="post-metadata">

**Author:** ![kri2sis](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kri2sis/32/2982_2.png) [@kri2sis](https://www.debian-fr.org/u/kri2sis)\
**Post date:** [Février 21, 2016, 2:14 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/128 "2016-02-21T14:14:17Z")

</div>

non mais kà je suis sur ce tuto bien concentré et je le suis à la lettre…

bon j’ai avancé malgré tout mais a ce niveau là… ça ne se connecte pas (port déclaré dans le pare-feu Windows, ouvert dans le routeur (pas avast, je ne trouve pas et apparamment il laisse les connexions en local fonctionner)

`kri2sis@debian-server:~$ sftp -P 666 kri2sis@localhost
ssh: connect to host localhost port 666: Connection refused
Couldn't read packet: Connection reset by peer`

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 2:14 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/129 "2016-02-21T14:14:19Z")

</div>

[quote=“kri2sis”]kri2sis@debian-server:~$ sftp -P 666 kri2sis@localhost  
ssh: connect to host localhost port 666: Connection refused  
Couldn’t read packet: Connection reset by peer[/quote]  
Tu te connectes à partir de ton serveur ?

---

<div class="post-metadata">

**Author:** ![kri2sis](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kri2sis/32/2982_2.png) [@kri2sis](https://www.debian-fr.org/u/kri2sis)\
**Post date:** [Février 21, 2016, 2:15 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/130 "2016-02-21T14:15:10Z")

</div>

non je me connecte avec le shell en ligne de commande sur mon ordi perso qui fait parti du réseau(Bitvise SFTP)  
il faut que je me connecte autrement ?

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 2:15 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/131 "2016-02-21T14:15:42Z")

</div>

Non mais comme j’ai vu ça, je me posais la quetion :

> [@](#):
>
> kri2sis@debian-server:~$

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 2:15 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/132 "2016-02-21T14:15:42Z")

</div>

Si tu n’arrives toujours pas à te connecter :  
tu as bien fait attention à ça :

`--> Placer le setuid sur le rssh_chroot_helper (et vérifier après chaque mise à jour de rssh qu'il y est toujours):
Code:
#chmod u+s /usr/lib/rssh/rssh_chroot_helper`

---

<div class="post-metadata">

**Author:** ![kri2sis](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kri2sis/32/2982_2.png) [@kri2sis](https://www.debian-fr.org/u/kri2sis)\
**Post date:** [Février 21, 2016, 2:15 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/133 "2016-02-21T14:15:42Z")

</div>

le shell est en relation avec le serveur oui…  
il ne faut pas ?

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 2:15 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/134 "2016-02-21T14:15:42Z")

</div>

Oui, bien sûr.

---

<div class="post-metadata">

**Author:** ![kri2sis](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kri2sis/32/2982_2.png) [@kri2sis](https://www.debian-fr.org/u/kri2sis)\
**Post date:** [Février 21, 2016, 2:15 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/135 "2016-02-21T14:15:42Z")

</div>

alors si comme je le pense rss\_chroot\_helper est un fichier, je ne le trouve pas

j’ai dans /home/sftp : 5 répertoires

- dev : null
- etc : passwd
- lib : libbsd.so.0 ; libc.so.6 ; libdl.so.2 ; libncurses.so.5 ; libnss\_files.so.2
- lib64 : ld-linux-x86-64.so.2
- usr : bin(dossier : sftp) ; lib(dossier : openssh(dossier : sftp-server) ; libedit.so.2)

mai spas le ficjier que tu me dis et je suis sûr d’avoir suivi correctement… je retente de le mettre

oki je viens de voir le truc :  
il est en effet dans /usr/lib/rssh/rssh\_chroot\_helper mais pas dans /home/sftp/usr/lib/rssh/rssh\_chroot\_helper  
il faut le mettre dedans ?

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 2:15 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/136 "2016-02-21T14:15:43Z")

</div>

Il aurait dû être copié lors de l’installation de rssh dans le dossier chroot (avec le script copie\_binaire).

Si tu galères trop avec rssh, il est tout à fait possible de faire un simple chroot. Openssh comprend cette fonction. Cela reste très sécurisé puisque seules les commande sftp peuvent être lancées par les utilisateurs, car tu leur donnes le shell /bin/false. Voir ici : [dunespice.no-ip.org/Logiciel-lib … rveur.html](http://dunespice.no-ip.org/Logiciel-libre/Installation_et_securisation_du_serveur.html) (Ligne serveur sftp)

---

<div class="post-metadata">

**Author:** ![kri2sis](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kri2sis/32/2982_2.png) [@kri2sis](https://www.debian-fr.org/u/kri2sis)\
**Post date:** [Février 21, 2016, 2:15 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/137 "2016-02-21T14:15:46Z")

</div>

[quote=“thuban”]Il aurait dû être copié lors de l’installation de rssh dans le dossier chroot (avec le script copie\_binaire).

Si tu galères trop avec rssh, il est tout à fait possible de faire un simple chroot. Openssh comprend cette fonction. Cela reste très sécurisé puisque seules les commande sftp peuvent être lancées par les utilisateurs, car tu leur donnes le shell /bin/false. Voir ici : [dunespice.no-ip.org/Logiciel-lib … rveur.html](http://dunespice.no-ip.org/Logiciel-libre/Installation_et_securisation_du_serveur.html) (Ligne serveur sftp)[/quote]  
merci à toi mais sincèrement j’ai peur de partir dans tous les sens encore une fois donc je désinstalle proprement et je réinstalle

merci

nota : juste un détail copie\_binaire n’a pas d’exention à sa création ? (# touch copie\_binaire ?)

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 2:15 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/138 "2016-02-21T14:15:48Z")

</div>

[quote=“kri2sis”][quote=“thuban”]Il aurait dû être copié lors de l’installation de rssh dans le dossier chroot (avec le script copie\_binaire).

Si tu galères trop avec rssh, il est tout à fait possible de faire un simple chroot. Openssh comprend cette fonction. Cela reste très sécurisé puisque seules les commande sftp peuvent être lancées par les utilisateurs, car tu leur donnes le shell /bin/false. Voir ici : [dunespice.no-ip.org/Logiciel-lib … rveur.html](http://dunespice.no-ip.org/Logiciel-libre/Installation_et_securisation_du_serveur.html) (Ligne serveur sftp)[/quote]  
merci à toi mais sincèrement j’ai peur de partir dans tous les sens encore une fois donc je désinstalle proprement et je réinstalle

merci

nota : juste un détail copie\_binaire n’a pas d’exention à sa création ? (# touch copie\_binaire ?)[/quote]  
C’est mieux d’en mettre une effectivement. “.sh” indique qu’il s’agit d’un script shell. Mais si un fichier a les droits éxécutables, l’extension importe peu du moment que l’interpréteur (programme lisant le script) est présent sur le pc.

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 2:15 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/139 "2016-02-21T14:15:48Z")

</div>

Si tu as fait ce qui suit, tu ne devrais pas avoir de problèmes :

[quote]2. Configuration de rssh

L’intérêt de rssh est de donner à chaque utilisateur du serveur un shell réduit. Dans notre cas, ce shell sera réduit à sftp, c’est à dire à ttes les commandes dispensées par sftp:  
cd lcd chgrp chmod chown help get lls ln lmkdir lpwd ls lumask mkdir put exit quit rename rmdir rm symlink version !command ! ?

Le fichier de configuration est /etc/rssh.conf Remplaçons celui créé lors de l’installation:  
Code:

# mv /etc/rssh.conf /etc/rssh.conf.old

# echo “logfacility = LOG\_USER” \> /etc/rssh.conf

# echo “allowsftp” \>\> /etc/rssh.conf

# echo “umask = 066” \>\> /etc/rssh.conf[/quote]

Le chemin /etc/rssh.conf n’est pas dans le /home de l’user’ mais à la racine de ton serveur

---

<div class="post-metadata">

**Author:** ![kri2sis](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kri2sis/32/2982_2.png) [@kri2sis](https://www.debian-fr.org/u/kri2sis)\
**Post date:** [Février 21, 2016, 2:15 UTC](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813/140 "2016-02-21T14:15:48Z")

</div>

![:violin:](https://www.debian-fr.org/uploads/default/original/1X/85d6243bd20b916686675d7e8163eace3d737942.gif "Violin") Heureux, qui comme Ulysse… ![:violin:](https://www.debian-fr.org/uploads/default/original/1X/85d6243bd20b916686675d7e8163eace3d737942.gif "Violin")

voilà une réinstall, et déjà le premier fichier ressemble a ce dont le tuto parle au début (certainement spécifier pour les novices qu’il faut updater juste apres l’install…)  
bref, connexion établi avec kri2sis (test avec le shell et FZ .mais juste lui ; machin, gintoxic… ne peuvent se connecter (j’ai vu que le probleme était évoquer dans ce fil, mais je n’ai pas vu qu’il étai régler (ou alors je vais changer mes yeux…)  
autre chose : rsyslog ne semble pas vouloir se mettre dans le chroot

`root@debian-server:~# /etc/init.d/rsyslogd restart
-su: /etc/init.d/rsyslogd: Aucun fichier ou dossier de ce type
`  
et sous kri2sis et bien je vai sou je veut dans le serveur… je suis assez embeter par tout cela

help me please (j’étais trop content que ca marche 😢 )

`root@debian-server:~# sftp -P 666 machin@localhost
machin@localhost's password:
Connection closed`

[Page précédente](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813.md?page=6)

[Page suivante](https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813.md?page=8)
