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

ton sshd_config est correct

refais un login et regarde ensuite dans /var/log/auth.log et /var/log/messages les dernières lignes

là je peux pas faut que je réinstall correctement les éléments que j’ai pu installer et recréer ceux que j’ai créé (j’ai un robleme notamment avec le script qui ne semble pas vouloir passer et donc me zappe des copies ; si vous savez lesquels copier (j’en avais écrites dans un post ici mais je sasi aps si c’était complet…) au pire je les copie un à un a la main
c’est bon j’ai refait tout a la main je vais tester

connexion en local ok pour 3 des mes users (il ne veut pas me connecter : me prendrait pas pour le root ?)
pareil pour la connexion en réseau nikel

petit bémol, je pense : leur chroot ou jail contient les dossiers dev,etc,lib,lib64,usr

bon et bien soit je me suis débrouillé (non sans votre aide précieuse :023 ) soit ça va me péter dans les mains dans peu de temps, mais pour le moment je dois dire tip-top tou smes users se connectent :041

merci à Yan pour le tuto et à tout le monde pour votre aide
sympa et efficace vous êtes, restez le pour le plaisir de tous :wink:

(allez zou, je continue mon épopée)

ps : c’est suffisamment sécurisé ou je dois faire autre chose ?

jail2ban…

oups derniere chose que j’ai déjà évoquer, comment puis je cacher les dossiers contenu dans /home/vsftp ? j’ai pas envie qu eles gens me les plombent

merci

edit : comme je sasi pas si je vais fair eune betise je prefere vous demander :
si je fais un chmod -R 600 sur les dossiers présents et que je crée un repertoire www et un annexes pour les sites ca le fait ?

[quote=“nykoos”][quote=“kri2sis”]ca fait comme tout à l’heure
c’est un souci de connexion pas de mot de passe là

The authenticity of host '[192.168.1.54]:666 ([192.168.1.54]:666)' can't be esta blished. RSA key fingerprint is bb:ec:70:0f:9d:06:e0:24:f9:24:d4:77:13:1f:9b:09. Are you sure you want to continue connecting (yes/no)? y Please type 'yes' or 'no': yes Warning: Permanently added '[192.168.1.54]:666' (RSA) to the list of known hosts . machin@192.168.1.54's password: Connection closed[/quote]

le message ci dessus me parait normal, il te confirme simplement qu’ il enregistre le fingerprint dans known_hosts comme c’ est le cas lors d’ un première connexion après installation, donc générer des clefs avec ssh-keygen ne fera rien avancer si une simple authentification par mot de passe ne fonnctione déjà pas, qu’ en penses tu Ricardo ?

et en voyant ça: "machin@192.168.1.54’s password:
Connection closed" j’ en déduis qu’ il reconnait bien ton mot de passe mais il te déconnecte illico …
tu devrais poster ton fichier /etc/ssh/sshd_config

et aussi simple hyphotèse: suite à migration Squeeze Wheezy j’ ai eu le même truc et cela venait du fichier libnss_files.so.2[/quote]

Tout à fait du même avis, pas besoin de clefs tant qu’il n’a pas résolu une connexion par MDP.
Notre ami est trop pressé, il tire plus vite que son ombre :smiley:

De quels dossiers parles-tu exactement ?
Donne le chemin complet et leurs droits actuels
Ces dossiers font partie de sftp ?

en image !
(les connexions sont établis pour tous sauf le user kri2sis mais pas très grave j’ai un autre user)
je ne suis pas pressé, je suis impatient :stuck_out_tongue:

Eh oui, avec le tuto du wiki, les dossiers du chroot sont visibles par les visiteurs, et c’est pas chouette. C’est pourquoi je te proposais d’utiliser la fonction de chroot incluse à openssh (pas besoin de rssh).

En gros, ça se passe ainsi. Tu ajoute ces lignes dans /etc/ssh/sshd_config

Match Group sftpusers ChrootDirectory /media/PIDATA/sftp ForceCommand internal-sftp

Remplace /media/PIDATA/sftp par le dossier du chroot.
Pour que l’on ne puisse pas aller plus haut que ce dossier, tu change les droits :

Ensuite, tu crées dans le dossier du chroot un dossier /home , puis des dossiers du même nom que les utilisateurs qui auront le droit de se connecter. Par exemple, pour un utilisateur charles, tu aurais le dossier /media/PIDATA/sftp/home/charles.

Enfin, pour que charles soit le seul à pouvoir voir son dossier, il faut éxécuter cette commande qui modifie les droits : chown charles:charles /media/PIDATA/sftp/home/charles chmod 700 /media/PIDATA/home/sftp/home/charles

J’en parle un peu ici : dunespice.no-ip.org/Logiciel-lib … rveur.html

merci thuban mais ca voudrait dire que j’ai taffer pour revenir sur mes pas… si je fais un chmod 700 (je reprend car le chmod 600 rend le propio non-executif) sur ces dossiers, seul le root (proprio dans ce cas) peut agir et voir ces dossiers… et comme le root a acces au ssh (je ne vois pas de différence entre ssh et rssh…) dans ce cas je l’utiliserais pour manipuler ces dossiers si besoin est.
je fais fausse route ? OUI
les users ne peuvent pas se connecter si je change le chmod
mais le cas échéant oui je peux les “isoler” autre part >>> le truc c’est qu’il doivent avoir acces au dossier raid5 qui se trouve dans /media/raid5 (et là je bloque)

merci :smiley:

Je m’en fous de tes graphiques, ce que je voulais voir, sur une console, c’est le résultat de :
connexion de machin, donc :
sftp>
ensuite, entre :
sftp> ls -al /

machin nous a quitté pour gintoxic :

gintoxic@localhost's password: Connected to localhost. sftp> ls -al / drwxr-xr-x 7 root 0 4096 Feb 20 18:43 . drwxr-xr-x 7 root 0 4096 Feb 20 18:43 .. drwxr-xr-x 2 root 0 4096 Feb 20 20:59 dev drwxr-xr-x 2 root 0 4096 Feb 20 18:49 etc drwxr-xr-x 2 root 0 4096 Feb 20 18:52 lib drwxr-xr-x 2 root 0 4096 Feb 20 18:54 lib64 drwxr-xr-x 4 root 0 4096 Feb 20 18:44 usr sftp>

gintoxic@192.168.1.54's password: Connected to 192.168.1.54. sftp> ls -al / drwxr-xr-x 7 root 0 4096 Feb 20 18:43 . drwxr-xr-x 7 root 0 4096 Feb 20 18:43 .. drwxr-xr-x 2 root 0 4096 Feb 20 20:59 dev drwxr-xr-x 2 root 0 4096 Feb 20 18:49 etc drwxr-xr-x 2 root 0 4096 Feb 20 18:52 lib drwxr-xr-x 2 root 0 4096 Feb 20 18:54 lib64 drwxr-xr-x 4 root 0 4096 Feb 20 18:44 usr
je te mets les deux connexions au cas où…

rssh est un shell réduit, ne donnant accès que aux commandes utiles au sftp. Ssh est un service, proposant en plus le protocole sftp. Moi j’ai fait le choix d’utiliser le chroot sftp proposé par ssh, et de ne pas donner d’accès en shell au utilisateurs.

La commande que t’a demandé Ricardo indique les droits sur tous les documents présents. Ces droits ne changent pas que tu sois en localhost ou ailleurs.

Ils sont répartis en 3 :
droits du propriétaire - droit du groupe - droits pour tous les autres

Les droits sont soit :
x : éxécutable (pour un dossier, ça veut dire qu’on peut aller dedans)
r : lisible
w : inscriptible.

Donc, quand tu as ça : drwxr-xr-x
Ça veut dire que c’est un répertoire (d), dont le proprétaire a tous les droits (wxr), le groupe peut s’y déplacer et lire (xr) et les autres juste s’y déplacer (x).

Pour que ça fonctionne, rssh doit pouvoir accéder à ces dossiers. Il n’est donc pas possible de les cacher.
C’est pourquoi je te proposais (faute de connaître mieux) de faire un chroot tout pareil, sauf que le shell des utilisateurs n’est pas rssh mais /bin/false , et le chroot est fait directement par ssh. Ensuite, en changeant les propriétaires et les droits sur les dossiers (chown, chmod…), je choisis de les rendre visible à tous ou uniquement à certains utilisateurs.

[quote=“kri2sis”]le truc c’est qu’il doivent avoir acces au dossier raid5 qui se trouve dans /media/raid5 (et là je bloque)

merci :smiley:[/quote]

là il faut refaire le tuto depuis le début, et tu remplaces toutes les lignes /home/sftp par
/media/raid5 le chroot ne sera donc plus dans /home/sftp

@thuban ta méthode fonctionne très bien mais elle a un inconvénient: il n’ est plus possible d’agencer un serveur distant, tout passe obligatoirement pas le sftp chrooté, d’ un autre côté si le serveur n’ est pas distant, c’ est un sécurité supplémentaire puisque un login en ssh ne fonctionnera plus.

oki nykoos je vais faire cela au pire.

une nuance stp ?
je souhaite que le serveur soit accessible de n’importe où par les users (j’aime mes amis, mais je les veux pas chez moi a chaqe fois qu’il doivent toucher à leur site ou accéder au dossier de partage…)

[quote=“nykoos”][quote=“kri2sis”]le truc c’est qu’il doivent avoir acces au dossier raid5 qui se trouve dans /media/raid5 (et là je bloque)

merci :smiley:[/quote]

là il faut refaire le tuto depuis le début, et tu remplaces toutes les lignes /home/sftp par
/media/raid5 le chroot ne sera donc plus dans /home/sftp

@thuban ta méthode fonctionne très bien mais elle a un inconvénient: il n’ est plus possible d’agencer un serveur distant, tout passe obligatoirement pas le sftp chrooté, d’ un autre côté si le serveur n’ est pas distant, c’ est un sécurité supplémentaire puisque un login en ssh ne fonctionnera plus.[/quote]
Oui et non. Sur ce serveur, j’ai aussi un accès classique en ssh, qui me permet de l’agencer comme je le souhaite. Il faut un compte à part pour faire du sftp, et ça me convient très bien.

[quote=“kri2sis”]oki nykoos je vais faire cela au pire.

une nuance stp ?
je souhaite que le serveur soit accessible de n’importe où par les users (j’aime mes amis, mais je les veux pas chez moi a chaqe fois qu’il doivent toucher à leur site ou accéder au dossier de partage…)[/quote]
Toi, tu as un accès ssh. C’est à dire que tu peux te connecter avec un compte classique, et lancer toutes les commandes que tu veux comme si ce serveur était un ordi chez toi.

Les utilisateurs que tu as créé n’auront que un accès sftp. Ils pourront agencer leurs documents comme ils veulent avec filezilla ou tout client sftp.

Par contre, si tu veux aussi leur donner un accès ssh, alors il faut soit leur créer un compte utilisateur normal, soit ne pas utiliser la méthode que je propose. À toi de voir.

vous pourriez développer que je comprenne svp ?? (notamment le compte à part…)

j’ai copié le raid vers /home/raid5/raid5/medias
si je suis le tuto je mets le dossier sftp et ses dépendances dans /home/raid5/raid5/medias ?
de cette façon le user arrive dans le meme repertoire que le raid …

je crains de faire une betise…

je recherche unmax de sécurité pour moi et les users

[quote=“kri2sis”]oki nykoos je vais faire cela au pire.

une nuance stp ?
je souhaite que le serveur soit accessible de n’importe où par les users (j’aime mes amis, mais je les veux pas chez moi a chaqe fois qu’il doivent toucher à leur site ou accéder au dossier de partage…)[/quote]
Pour résumer, si tu as un accès physique à ta machine, la méthode de thuban est très bien, les users auront accès depuis n’ importe bien évidemment, mais toi l’ admin et propriétaire tu ne pourras plus accéder au système de ton serveur en ssh ps: change ta signature les hommes n’ont pas inventé Dieu, que les mauvais esprits seulement ou les bons :hand:

[quote=“kri2sis”]machin nous a quitté pour gintoxic :

gintoxic@localhost's password: Connected to localhost. sftp> ls -al / drwxr-xr-x 7 root 0 4096 Feb 20 18:43 . drwxr-xr-x 7 root 0 4096 Feb 20 18:43 .. drwxr-xr-x 2 root 0 4096 Feb 20 20:59 dev drwxr-xr-x 2 root 0 4096 Feb 20 18:49 etc drwxr-xr-x 2 root 0 4096 Feb 20 18:52 lib drwxr-xr-x 2 root 0 4096 Feb 20 18:54 lib64 drwxr-xr-x 4 root 0 4096 Feb 20 18:44 usr sftp>

gintoxic@192.168.1.54's password: Connected to 192.168.1.54. sftp> ls -al / drwxr-xr-x 7 root 0 4096 Feb 20 18:43 . drwxr-xr-x 7 root 0 4096 Feb 20 18:43 .. drwxr-xr-x 2 root 0 4096 Feb 20 20:59 dev drwxr-xr-x 2 root 0 4096 Feb 20 18:49 etc drwxr-xr-x 2 root 0 4096 Feb 20 18:52 lib drwxr-xr-x 2 root 0 4096 Feb 20 18:54 lib64 drwxr-xr-x 4 root 0 4096 Feb 20 18:44 usr
je te mets les deux connexions au cas où…[/quote]

Alors :
1/ les “authorizeds” doivent appartenir au groupe ‘sftp’ et non au groupe ‘0’ :smiley:
2/ les droits doivent être ainsi :
drwxr-xr-x 8 root root 4096 22 janv. 01:51 .
drwxr-xr-x 15 root root 4096 4 janv. 2012 …
drwxr-xr-x 2 root root 4096 11 oct. 18:15 dev
drwx–x— 2 root sftp 4096 26 nov. 2010 etc
drwx–x— 2 root sftp 4096 26 nov. 2010 lib
drwx–x— 2 root sftp 4096 26 nov. 2010 lib64
drwx–x— 5 root sftp 4096 27 nov. 2010 usr

[quote=“thuban”][quote=“nykoos”][quote=“kri2sis”]le truc c’est qu’il doivent avoir acces au dossier raid5 qui se trouve dans /media/raid5 (et là je bloque)

merci :smiley:[/quote]

là il faut refaire le tuto depuis le début, et tu remplaces toutes les lignes /home/sftp par
/media/raid5 le chroot ne sera donc plus dans /home/sftp

@thuban ta méthode fonctionne très bien mais elle a un inconvénient: il n’ est plus possible d’agencer un serveur distant, tout passe obligatoirement pas le sftp chrooté, d’ un autre côté si le serveur n’ est pas distant, c’ est un sécurité supplémentaire puisque un login en ssh ne fonctionnera plus.[/quote]
Oui et non. Sur ce serveur, j’ai aussi un accès classique en ssh, qui me permet de l’agencer comme je le souhaite. Il faut un compte à part pour faire du sftp, et ça me convient très bien.[/quote]
+1
Le principe c’est ça :
TOI = client ftp normal
Les autres = clients sftp bridés au seul dossier sftp.