SFTP en Chroot

Pour réaliser cette recette, il nous faut un utilisateur (Lazare) et sshd. Ce dernier pourra utiliser le SFTP, mais pourra pas se connecter en ssh au serveur. De plus il sera restreint (jail) dans sont répertoire utilisateur (home)

Nous commençons par crée un groupe dédié au utilisateurs SFTP :
# groupadd sftp_users

Si Lazare n'existe pas, nous le crééons :
# useradd -G sftp_users -s /sbin/nologin lazare # passwd lazare

Sinon :
usermod –G sftp_users -s /sbin/nologin

* pour changer le répertoir utilisateur, utiliser l'option -d dans les deux cas précédents.

Nous éditons ensuite le fichier de configuration ssh /etc/ssh/sshd_config.

Il faut commenter la ligne :
#Subsystem sftp /usr/libexec/openssh/sftp-server

et ajouter les options suivantes :
Subsystem sftp internal-sftp
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp


Pour finir cette étape, nous redémarrons le service : # service sshd restart

Nous devons ensuite attribuer les droits sur le dossier utilisateurs :
# chmod 755 /home/lazare
# chown root /home/lazare
# chgrp -R sftp_users /home/lazare
Le tour est joué :)

Commentaires

1. Le jeudi 24 juillet 2014, 20:52 par Ruliane

Petite correction :
usermod –G sftp_users -s /sbin/nologin lazard
Il manque le username dans l'article.

La discussion continue ailleurs

URL de rétrolien : http://www.leslamas.net/index.php?trackback/83

Fil des commentaires de ce billet