{{tag>SFTP chroot SSH}} = Monter un serveur SFTP chroote avec OpenSSH Voir : https://michauko.org/blog/sftp-chroot-et-pas-de-ssh-bloquer-un-utilisateur-dans-un-repertoire-1099/ Voir aussi : * [[draft-monter-un-serveur-sftp-ssh|Monter un serveur SFTP avec ProFTPd]] * [[SSH SFTP chroot]] mkdir -p /chroot/shared/ chown root:nsc /chroot chmod 750 /chroot useradd sftpuser -M -d /dev/null -s /sbin/nologin # useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead. echo "/mnt/shared/ /chroot/shared/ none _netdev,bind 0 0" >> /etc/fstab # Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp Match User sftpuser ChrootDirectory /chroot ForceCommand internal-sftp AllowTcpForwarding no GatewayPorts no X11Forwarding no PermitTunnel no AllowAgentForwarding no PermitTTY no mount /chroot/shared/ systemctl restart sshd systemctl status sshd == Autres The simplest way is to create some script that would take care of that. Add Match User test1 ForceCommand /path/to/your/script.sh And your script will basically run whatever the user wants, unless it is request for SFTP: #!/bin/bash if [[ "$SSH_ORIGINAL_COMMAND" =~ .*sftp-server.* ]]; then echo "SFTP not allowed" exit 255; else exec "$SSH_ORIGINAL_COMMAND" fi FIXME