5146
Commentaire: sshfs
|
6213
avertissement concernant l'upload
|
Texte supprimé. | Texte ajouté. |
Ligne 2: | Ligne 2: |
[[TableOfContents]] |
|
Ligne 38: | Ligne 40: |
'''sshfs''' est basé sur [http://fuse.sourceforge.net/ fuse] (système de fichier en userspace pour Linux), donc nimporte quel utilisateur pourra ensuite monter ce système de fichier sans être root (il faudra tout de même qu'il fasse parti du groupe fuse). | '''sshfs''' est basé sur [http://fuse.sourceforge.net/ fuse] (système de fichier en userspace pour Linux, la même chose que ce qui est utilisé par encfs pour crypter des répertoires), donc nimporte quel utilisateur pourra ensuite monter ce système de fichier sans être root (il faudra tout de même qu'il fasse parti du groupe fuse) et sans aucune modification du fichier {{{/etc/fstab}}}. |
Ligne 41: | Ligne 43: |
Il existe aussi shfs basé sur lufs, mais ces projets ont l'air un peu morts, rendus obsolètes par fuse. |
|
Ligne 54: | Ligne 58: |
Il faut ajouter les utilisateurs autorisés à monter des volumes ''via'' sshfs au groupe {{{fuse}}}. Pour cela : {{{ adduser utilisateur fuse }}} |
|
Ligne 104: | Ligne 112: |
== Mises en garde == Si vous utilisez sshfs sur zamok au sein du réseau crans, il n'y aura pas de problèmes puisque les transferts de données seront limités à zamok et votre machine et par conséquent ne quitteront pas le réseau. En revanche, soyez prudents si vous montez un répertoire de votre home sur zamok à partir de l'extérieur du réseau crans. En effet, toute manipulation sur ce répertoire et les fichiers qu'il contient générera une quantité non nulle d'upload à partir de zamok en direction de l'extérieur, ce qui peut être lourdement sancionné en respect de la charte Renater si celle-ci devient significative. |
Cette page a pour but de rassembler toutes les astuces qui peuvent simplifier la vie grace à ssh.
Accéder à un réseau interne
Dans le cas où l'on veut se connecter à une machine d'un réseau interne qui n'est pas accessible directement mais pour lequel il y a au moins une machine qui accepte le ssh.
On peut inscrire dans le fichier ~/.ssh/config les lignes suivantes :
Host machine_accessible.reseau.interne # par exemple acces1.rip.ens-cachan.fr ProxyCommand none Host *.réseau.interne # par exemple *.rip.ens-cachan.fr user son_login ProxyCommand ssh son_login@machine_accessible.reseau.interne "nc -w1 %h %p"
Ensuite ssh fera le saut de façon transparente quand on lancera la commande ssh une_machine.reseau.interne
La première partie n'est nécessaire que si la machine accessible matche le *.réseau.interne. On peut l'omettre sinon. Dans cet exemple, ce n'est pas nécessaire :
Host *.crans.org IdentityFile ~/.ssh/crans/clef Host *.adm.crans.org ProxyCommand ssh rouge.crans.org "nc -w1 %h %p"
En effet, la machine sur laquelle on saute (rouge.crans.org) n'est pas dans le réseau adm.crans.org.
il faut que netcat soit installé sur la machine du milieu (c'est le cas dans 99.999% des cas, sauf à l'ENS). S'il n'est pas installé, un coup de scp /bin/nc user@machine_accessible.reseau.interne: fera l'affaire (et bien sûr on remplace nc ci dessus par ~/nc)
sshfs
Présentation
Comme son nom le suggère, sshfs est un système de fichier basé sur le protocole SSH.
sshfs est basé sur [http://fuse.sourceforge.net/ fuse] (système de fichier en userspace pour Linux, la même chose que ce qui est utilisé par encfs pour crypter des répertoires), donc nimporte quel utilisateur pourra ensuite monter ce système de fichier sans être root (il faudra tout de même qu'il fasse parti du groupe fuse) et sans aucune modification du fichier /etc/fstab.
La page du site officiel : http://fuse.sourceforge.net/sshfs.html
Il existe aussi shfs basé sur lufs, mais ces projets ont l'air un peu morts, rendus obsolètes par fuse.
Installation
Côté serveur
Si le serveur possède déja un serveur SSH, alors il n'y a rien à faire.
Côté client
Il est nécessaire d'avoir le module de noyau fuse. Sous debian, un simple
aptitude install sshfs
suffit pour l'installation, la dépendance envers fuse étant automatiquement résolue.
Il faut ajouter les utilisateurs autorisés à monter des volumes via sshfs au groupe fuse. Pour cela :
adduser utilisateur fuse
Usage
Montage
L'utilisateur côté client n'a juste qu'à tapoter sur son clavier :
sshfs machinedistante: pointdemontage
et entrer un mot de passe si nécessaire (cas de pas de clefs).
Si le nom d'utilisateur distant est différent, alors on remaplacera machinedistante par utilisateur@machinedistante.
Par défaut, cela monte le home de l'utilisateur. Pour changer, il suffit de spécifier un autre répertoire après :.
Démontage
Lorsque l'on a fini, pour démonter il suffit de tapoter :
fusermount -u pointdemontage
Options intéressantes
Pour un descriptif complet des options :
man sshfs
À mon humble avis, l'option la plus intéressante est -C qui active la compression (permet de limiter le volume d'upload).
Sinon, on peut également changer le port de connexion distant avec -P et tout plein d'autres choses que je n'ai pas envie de décrire.
Par défaut, le caching est utilisé, ce qui est plutôt bien.
Intérêt
Pour l'instant, si vous êtes habitué de ssh et scp, vous ne voyez peut être pas encore ce que cela apporte de plus.
Voici quelques intérêts que je lui trouve (à compléter si vous avez d'autres idées).
- Cela correspond bien à la philosophie d'UNIX où tout est fichier.
- On a un serveur de fichiers distant bien moins chiant à configurer que NFS, CIFS/Samba, CODA et en plus sécurisé par défaut (par contre, à la base SSH n'est pas fait pour ça donc il doit y avoir des inconvénients par rapport aux vrais systèmes de fichiers réseau).
- Une fois le système monté, on peut utiliser les commandes classiques directement dans son arborescence locale de manière transparente (par exemple cp, mv, rm, plutôt que de s'embêter à coup de scp).
On peut utiliser des programmes que l'on dispose sur la machine locale (et qui ne sont pas sur la machine distante) pour travailler sur des fichiers distants. Exemple : vous disposez de fichiers photos sur zamok. Vous faites
sshfs login@ssh.crans.org: zamok/ gqview zamok/ &
Et vous pouvez visualiser directements ces photos. De même, vous pouvez aussi éditer les fichiers html de votre site web avec votre éditeur préféré qui n'est pas forcemment installé sur zamok (bon les utilisateurs d'Emacs avaient déjà tramp).On a l'impression d'avoir un gros disque dur :
~; df -h zamok Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur sshfs#rozel@ssh.crans.org: 7,5T 0 7,5T 0% /home/benoit/zamok
Il faut cependant faire attention, il y a un quota qui limite la taille de ce répertoire.- À compléter (je suis sur qu'il y a encore plein d'autres petites astuces pratiques)...
Mises en garde
Si vous utilisez sshfs sur zamok au sein du réseau crans, il n'y aura pas de problèmes puisque les transferts de données seront limités à zamok et votre machine et par conséquent ne quitteront pas le réseau. En revanche, soyez prudents si vous montez un répertoire de votre home sur zamok à partir de l'extérieur du réseau crans. En effet, toute manipulation sur ce répertoire et les fichiers qu'il contient générera une quantité non nulle d'upload à partir de zamok en direction de l'extérieur, ce qui peut être lourdement sancionné en respect de la charte Renater si celle-ci devient significative.