Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


Partage de fichiers sécurisé avec sshfs

Introduction

Sshfs est un outil permettant d'utiliser le protocole ssh comme un système de fichiers et ainsi monter un répertoire distant à travers le protocole ssh.
Alors que ssh s'utilise en ligne de commande, sshfs permet d'utiliser n'importe quel gestionnaire de fichiers de manière transparente.
Cet outil permet ainsi d'allier sécurité et facilité d'emploi pour les utilisateurs.

Installation côté serveur

Il suffit d'avoir un serveur ssh fonctionnel

Installation côté client

Note : Les paquets “openssh-client” et “fuse-utils” sont requis, mais il sont déjà installés par défaut sous Debian depuis 2009.

Installer simplement sshfs

apt-get update && apt-get install sshfs

Test rapide

Sur le système client, créer un répertoire dans lequel va être monté le système de fichiers :

mkdir /home/utilisateur/Test

Monter un répertoire distant (ici ~/Public):

sshfs utilisateur@ip_distante:/home/utilisateur/Public /home/utilisateur/Test

Le mot de passe de l'utilisateur est alors demandé.

Ouvrir Nautilus (ou n'importe quel gestionnaire de fichiers) pour accèder à vos fichiers distants. :-)

Enfin, penser à démonter :

fusermount -u /home/utilisateur/Test

Prochaine étape : améliorer la sécurité par l'utilisation d'une clé de chiffrement.

Sécurisation

Problèmes fréquents

  • Le montage n'est pas possible à cause des droits d'accès aux répertoires.

Il suffit alors de vérifier (ls -hl) et d'ajouter les droits (chmod2) ug+r…) au répertoire local (Public dans l'exemple) et au répertoire distant sur le serveur (Test dans l'exemple).

  • L'utilisateur n'a pas le droit de monter un système de fichier avec Fuse.

Aller dans le menu “Système > Administration > Utilisateurs et groupes” et cocher “Fuse” dans l'onglet “Privilèges utilisateur”.

  • Le firewall n'a pas été correctement paramétré.

Vérifier que le port utilisé est bien ouvert sur le serveur.
Il n'y a rien à faire côté client.

Automatiser la connexion

Montage manuel

Créer un petit fichier script dans lequel on écrit simplement la ligne de commande :

#!/bin/bash
sshfs utilisateur@ip_distante:/chemin/du/partage

en adaptant le chemin/du/partage évidemment ;-)

On pourra alors créer une icône pour lancer ce script. L'utilisateur n'aura plus qu'à cliquer sur l'icône, une fenêtre graphique lui demandera la phrase de passe de la clé, et le répertoire distant apparaîtra alors sur le bureau.
De la même façon, on pourra créer une icône pour démonter le répertoire.

  • Avantage : c'est simple.
  • Inconvénient : aucun message d'erreur n'est renvoyé en cas de problème.

Montage automatique par /etc/fstab

Automatiser complètement le montage en ajoutant une ligne au fichier /etc/fstab :

sshfs#utilisateur@192.168.0.1:Public Test fuse uid=1003,gid=100,umask=0,allow_other 0 0

Principal inconvénient : si le réseau n'est pas encore disponible au démarrage (c'est souvent le cas en wifi), le montage automatique ne se fera pas. :-(

Montage automatique par autofs

En construction…

Les différents fichiers de configuration

  • ~/.ssh/config : configuration de ssh pour l'utilisateur.
  • /etc/ssh/sshd_config : configuration du serveur pour tous les utilisateurs de la machine.
  • Pour interdire l'authentification par simple mot de passe, modifier les lignes suivantes dans le fichier /etc/ssh/sshd_config
PasswordAuthentication no
UsePAM no

…sans oublier de redémarrer le démon :

 # /etc/init.d/ssh restart
  • Pour indiquer au client ssh la clé qu'il doit utiliser pour chacun des serveurs, il faut spécifier dans le fichier ~/.ssh/config (ou /etc/ssh/ssh_config pour tous les utilisateurs de la machine) :
Host ServeurA
IdentityFile ~/.ssh/cleA
Host ServeurB
IdentityFile ~/.ssh/cleB

Sécuriser ssh

  • Soigner les paramètres de /etc/ssh/sshd_config
  • Dans tout les cas, il est important de regarder les logs de temps en temps. Les tentatives de connections infructueuses sont consignées dans /var/log/auth.log .
# cat /var/log/auth.log | grep Invalid
  • Il est conseillé de changer le port utilisé par défaut par sshd : 22, par un numéro de port plus élevé. Cela complique ou évite certaines attaques.

Cela s'appelle de la sécurité par obscurité.

  • Bien paramétrer son firewall…
  • Fail2ban…
  • Le port knocking ?…

Performances et qualité de service

sshfs (tout comme ssh) est très fiable et les retours d'expérience négatifs semblent être rares.

Les débits obtenus dépendent principalement des performances du réseau utilisé. Il est ainsi possible d'atteindre plusieurs centaines de mégabits par seconde.
Même avec des machines vieillissantes, le chiffrement des données ralenti peu les échanges.

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/reseau/ssh/sshfs.1389451656.txt.gz · Dernière modification: 11/01/2014 15:47 par bendia

Pied de page des forums

Propulsé par FluxBB