GNU/Linux >> Tutoriels Linux >  >> Linux

Autoriser SFTP mais interdire SSH ?

Solution 1 :

À partir de la version 4.9, OpenSSH (non disponible dans centos 5.x mais la fonctionnalité ChrootDirectory a été rétroportée) a un internal-sftp sous-système :

Subsystem sftp internal-sftp

Et ensuite bloquer les autres utilisations :

Match group sftponly
     ChrootDirectory /home/%u
     X11Forwarding no
     AllowTcpForwarding no
     ForceCommand internal-sftp

Ajoutez vos utilisateurs au sftponly groupe. Vous devez changer le répertoire personnel de l'utilisateur en / à cause du chroot et /home/user devrait appartenir à root . Je définirais également /bin/false comme shell de l'utilisateur.

Solution 2 :

Il y a un shell sconly qu'est-ce que cela fait. Il peut chrooter aussi.

Solution 3 :

Checkout rssh qui est un faux shell qui autorise sftp mais refuse ssh

En savoir plus sur RSSH

http://www.pizzashack.org/rssh/

RPM

http://pkgs.repoforge.org/rssh/

Vous pouvez configurer rssh pour autoriser/refuser différents comportements comme sft, scp etc.

Solution 4 :

Vous pouvez modifier /etc/passwd et donner à cet utilisateur un faux shell afin qu'il ne puisse pas utiliser ssh.


Linux
  1. Forcer les utilisateurs de pam à utiliser uniquement FTPS et à bloquer SFTP/SSH

  2. Autoriser Setuid sur les scripts Shell ?

  3. Ssh – Restreindre un utilisateur Ssh/scp/sftp à un répertoire ?

  4. Autoriser l'accès Ssh à distance ?

  5. Restreindre la connexion SSH à une adresse IP ou à un hôte spécifique

Comportement inattendu d'un script shell ?

Continuer les commandes Shell une fois connecté à Ssh ?

SSH - Comment inclure la commande -t dans le fichier ~/.ssh/config

Comment empêcher un utilisateur de se connecter, mais autoriser l'utilisateur su sous Linux ?

Restreindre l'accès SSH basé sur un mot de passe par utilisateur, mais autoriser l'authentification par clé

ajouter un mot de passe à .ssh/config