GNU/Linux >> Tutoriels Linux >  >> Linux

Configurer SFTP et empêcher SSH sur Ubuntu 20.04

Configurez SFTP et empêchez SSH sur Ubuntu 20.04. SFTP (Secure File Transfer Protocol), un moyen sécurisé de transférer des fichiers vers des serveurs à l'aide de connexions SSH cryptées. Tous les serveurs avec SSH auront SFTP activé par défaut.

Dans ce guide, vous allez apprendre à limiter l'accès SFTP à un répertoire pour un utilisateur particulier et à empêcher l'accès SSH.

Cette configuration est testée sur une machine virtuelle exécutant le système d'exploitation Ubuntu 20.04. Ce tutoriel devrait donc fonctionner sur tous les serveurs avec Ubuntu.

Prérequis

Accès SSH au serveur avec privilèges sudo.

Étape 1 :Créer un nouvel utilisateur

Créez un nouvel utilisateur disposant d'un accès SFTP pour effectuer certaines actions sur un répertoire particulier.

sudo adduser username

Vous serez invité à configurer un mot de passe et d'autres détails facultatifs que vous pouvez configurer ou ignorer.

Si vous souhaitez utiliser une connexion basée sur des clés SSH, vérifiez comment configurer l'accès SSH sur votre Ubuntu.

Étape 2 :Configurer l'accès SFTP

Pour configurer l'accès SFTP, vous devez configurer les autorisations de répertoire correctes. Le répertoire parent du nouveau répertoire que vous êtes sur le point de créer doit appartenir à root et à aucun autre utilisateur.

Par exemple, si vous allez créer un répertoire nommé /sftp/folder , le sftp le répertoire doit appartenir à root et le folder le répertoire doit appartenir à l'utilisateur particulier qui y accède.

Créez des répertoires.

sudo mkdir -p /sftp/folder

Configurez les autorisations correctes.

sudo chmod 755 /sftp
sudo chown root:root /sftp
sudo chmod -R 755 /sftp/folder
sudo chown username:username /sftp/folder

Étape 3 :Empêcher l'accès SSH et restreindre l'accès SFTP

Nous pouvons maintenant modifier la configuration SSH pour empêcher l'accès SSH pour l'utilisateur et restreindre l'accès de l'utilisateur uniquement au répertoire particulier.

Modifiez votre fichier de configuration SSH.

sudo nano /etc/ssh/sshd_config

Ajoutez ce qui suit à la fin du fichier.

Match User username
  ForceCommand internal-sftp
  PasswordAuthentication yes
  ChrootDirectory /sftp
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no
  • Match User indique au serveur SSH d'appliquer les commandes suivantes uniquement à l'utilisateur spécifié.
  • ForceCommand internal-sftp force le serveur SSH à exécuter le serveur SFTP lors de la connexion et empêche l'accès SSH.
  • PasswordAuthentication yes autorise l'authentification par mot de passe pour cet utilisateur. Si vous utilisez une connexion basée sur des clés SSH, vous pouvez empêcher l'authentification par mot de passe en définissant la valeur sur no .
  • ChrootDirectory /sftp garantit que l'utilisateur ne sera pas autorisé à accéder à quoi que ce soit au-delà du /sftp répertoire.
  • AllowAgentForwarding no , AllowTcpForwarding no , et X11Forwarding no désactive le transfert de port, le tunneling et le transfert X11, respectivement.

Tapez CTRL + X suivi de Y puis ENTER pour enregistrer et quitter le fichier.

Maintenant, les configurations sont en place, ce qui autorise uniquement l'accès SFTP et empêche la connexion SSH pour l'utilisateur.

Redémarrez le service SSH pour que les modifications prennent effet.

sudo systemctl restart sshd

Pour plus de détails sur la configuration de l'accès pour plusieurs noms d'utilisateur, vous pouvez suivre ce guide de configuration de Chroot.

Étape 4 :Vérifier la configuration SFTP

Essayez de vous connecter au serveur en utilisant vos informations SFTP avec la commande SSH. L'accès à SSH vous sera refusé.

ssh [email protected]_ip

Vous recevrez une sortie similaire à celle ci-dessous.

Output
This service allows sftp connections only.
Connection to server_ip closed.

Vérifiez maintenant à l'aide de la commande sftp.

sftp [email protected]_ip

Vous devriez maintenant être connecté au serveur et avoir accès au répertoire que vous avez configuré précédemment.

Output
Connected to server_ip
sftp>

Utilisez le ls commande pour lister les répertoires vous verrez le répertoire nommé folder vous avez créé et configuré des autorisations.

sftp> ls
Output
folder

Conclusion

Vous avez maintenant appris à configurer SFTP et à empêcher l'accès SSH à l'utilisateur sur un répertoire spécifique.

Merci pour votre temps. Si vous rencontrez un problème ou des commentaires, veuillez laisser un commentaire ci-dessous.


Linux
  1. Comment configurer le serveur SFTP MySecureShell sur Ubuntu 18.04

  2. Comment installer et configurer le serveur sftp dans Ubuntu 20.04

  3. Comment autoriser SFTP et interdire SSH ?

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

  5. Comment installer et configurer Suricata IDS sur Ubuntu 20.04

Comment installer et configurer RabbitMQ sur Ubuntu 16.04

Comment installer et configurer Apache Spark sur Ubuntu 21.04

Comment configurer et utiliser Google Drive sur Ubuntu 20.04

Comment installer et configurer Zsh dans Ubuntu 20.04

Changez votre port SSH dans Ubuntu et Debian

Comment installer et configurer Sendmail sur Ubuntu