SSHFS est, comme son nom l'indique, un système de fichier utilisant le protole SSH. En fait, il permet d'accéder à ses fichiers stockés sur un serveur distant via le protocole SSH de façon transparent, via un simple répertoire. Voir le site de SSHFS : http://fuse.sourceforge.net/sshfs.html = Utilisation dans le cadre AUF = L'idée est de proposer un accès simplifié à leurs fichiers à nos utilisateurs nomades, c'est-à-dire à ceux qui disposent d'un ordinateur portable sur Ubuntu<>. Pour les postes fixes, NFS reste nettement plus performant. Pour que cet accès reste simple et néanmoins bien sécurisé : * il faut que le montage soit automatique, mais non-permanent. L'utilisateur doit pouvoir monter et démonter le partage de manière simple et bien intégrée à Ubuntu ; * la connexion SSH doit se faire avec une authentification par clé, la clé privée doit être cryptée mais l'utilisateur ne doit pas avoir à entrer de mot de passe de décryptage sans arrêt (utilisation du trousseau de clé ''seahorse'') ; * l'accès SSH ne sera pas disponible en dehors du réseau privé de l'AUF (RPV), si vous désirez proposer un accès externe il faut utiliser OpenVPN. Un effet secondaire agréable est qu'OpenVPN solutionne le problème des adresses IP changeantes pour un client sur une liaison type ADSL. ||<#ffaa00> Notez bien : '''il ne faut pas ouvrir ce service directement sur Internet.''' On se le permet pour la messagerie car le contenu est réputé plus volatile et les utilisateurs sont censés le savoir aujourd'hui. Pour leurs fichiers, c'est différent, il peut s'agir de projets en cours, de données beaucoup plus confidentielles qu'il ne s'agit surtout pas de se faire pirater ! En outre, le tracé de l'activité de ce service est délicat, on ne pourra pas détecter et prouver une usurpation comme on peut le faire avec la messagerie. Si vous voulez rendre l'accès aux fichiers disponible depuis n'importe quelle machine sur Internet, ajoutez d'abord une couche de connexion au réseau privé, via OpenVPN. || == Préliminaire : configuration au niveau SSH == L'utilisateur doit avoir un compte accessible en SSH sur le serveur sur lequel se trouve ses données. L'accès SSH ne doit être possible que par clé (pas d'authentification par mot de passe). Cependant pour éviter que l'utilisateur ne doive entrer le mot de passe de sa clé privée à chaque montage, on ajoute la clé ssh de l'utilisateur dans le trousseau ''seahorse'', et on demande à ''seahorse'' de gérer automatiquement les clés lors de l'ouverture de la session. ''à faire : quelques copies d'écran pour montrer comment activer seahorse comme il faut'' Pour un utilisateur paranoïaque, on peut lui proposer un mot de passe spécifique pour sa clé privée... mais rappelez-vous que dans la pratique on sait que cela finira par l'ennuyer : il mettra un mot de passe trivial sur la clé, ou n'utilisera plus le service sshfs. == Installation et test de SSHFS == Depuis Ubuntu Hardy, il n'y a rien à faire. SSHFS est déjà présent et gérable via GVFS. == Automatisation du montage == Depuis Ubuntu Hardy et GVFS, on peut utiliser directement la solution ''Raccourcis / Se connecter à un serveur...'' disponible dans Gnome. On peut alors créer un raccourci que l'utilisateur pourra retrouver facilement, et qui sera visible dans la grande majorité des applications (!OpenOffice.org, Firefox, Thunderbird et toutes les applications GVFS-isées). Pour les applications non-gnome (non-GVFS), il faut expliquer à l'utilisateur que le montage SSHFS est effectué en réalité dans un endroit un peu caché : `~/.gvfs/nom-du-montage`. Pour aider, on peut créer un lien symbolique quelque part qui pointe vers ce répertoire. = Sécurisation : limitation de l'accès ssh = La méthode indiquée ci-dessus demande à ce que l'utilisateur ait un accès ssh classique au serveur, c'est-à-dire un "secure shell". Or il n'est pas forcément nécessaire que ces utilisateurs aient un accès ''shell'' au serveur ; cela peut même être dangereux si cet accès tombe entre les mains d'une personne mal intentionnée. Pour limiter l'accès ssh et le restreindre à la gestion des fichiers (sans accès shell), on peut utiliser deux techniques : * '''`scponly`''' : on attribue le shell `/usr/bin/scponly` à chaque utilisateur ''sshfs'' ; * '''`rssh`''' : on active le mode ''sftp'' dans `/etc/rssh.conf` puis on attribue le shell `/usr/bin/rssh` à chaque utilisateur ''sshfs''. Exemple avec `scponly` : {{{ # aptitude install scponly <--- si ce n'est pas déjà fait # chsh -s /usr/bin/scponly login <--- restreint l'accès ssh pour l'utilisateur "login" }}} Exemple avec `rssh` : {{{ # aptitude install rssh <--- si ce n'est pas déjà fait # vi /etc/rssh.conf <--- activer le mode sftp (option allowsftp) # chsh -s /usr/sbin/rssh login <--- restreint l'accès ssh pour l'utilisateur "login" }}} ---- ''Notes de bas de page :''