Limiter SFTP à la home de l'utilisateur
J'ai eu besoin d'un accès SFTP « sécurisé » et surtout limité pour un utilisateur précis sur un de mes serveurs.
Voici comment je m'y suis pris au final après pas mal de tatonnements et d'erreurs.
Ajouter ceci à la fin de /etc/ssh/sshd_config
:
# Subsystem sftp internal-sftp
Subsystem sftp internal-sftp -f AUTH -l VERBOSE
# This section must be placed at the very end of sshd_config
# Match Group sftponly
Match User tartenpion
ChrootDirectory %h
ForceCommand internal-sftp
# ForceCommand /usr/lib/openssh/sftp-server
# For additional paranoia, disallow all types of port forwardings.
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
Redémarrer SSH avec sudo service ssh restart
par exemple
Il faut que /home
et /home/tartenpion
soit à root
en mode 755. Donc :
sudo chown root /home
sudo chown root /home/tartenpion
sudo chmod 755 /home
sudo chmod 755 /home/tartenpion
Par sécurité, on peut faire usermod tartenpion -s /bin/false
afin que tartenpion
ne puisse qu'utiliser SFTP et pas SSH.
Merci à partofthething pour la réponse au problème de droit que j'avais sur ma Debian 8 (la ligne Subsystem sftp internal-sftp -f AUTH -l VERBOSE
au lieu de Subsystem sftp internal-sftp
(qu'on voit partout) ou de Subsystem sftp /usr/lib/openssh/sftp-server
(que j'avais essayé et qui fonctionnait… presque)
Comments ()