Catégories
Open-source Planet-libre Reseau

Mounter son espace de sauvegarde FTP en local sous Debian

Voici une rapide explication pour « mounter » dans un répertoire local un espace de sauvegarde FTP. J’ai utilisé cette procédure pour accéder à mon espace de stockage gratuit de 10 Go sur mon serveur Dedibox DC sous Debian Squeeze.

On commence par récupérer les paramètres de son serveur FTP

On a besoin:

  • du nom de la machine hébergeant le serveur FTP (host)
  • un compte utilisateur (login)
  • un mot de passe (password)

Chez Online.net, ces informations se trouve dans la console d’administration:

Une fois ces informations sous le coude on peut passer à l’étape suivante.

On prépare le terrain

On commence par installer Fuse qui va permettre de faire le montage du répertoire en FTP (toutes les commandes suivantes sont à saisir dans une console root):

[cc lang= »bash »]

apt-get install curlftpfs

[/cc]

Ensuite on créer le répertoire local (/mnt/backup dans mon cas) à partir duquel le répertoire FTP distant sera visible.

[cc lang= »bash »]

mkdir /mnt/backup

[/cc]

On teste que tout fonctionne en ligne de commande:

[cc lang= »bash »]

curlftpfs login:password@host /mnt/backup/

[/cc]

Vous devriez pouvoir lire, écrire et effacer des fichiers dans le répertoire /mnt/backup/.

On démounte le répertoire avec la commande suivante:

[cc lang= »bash »]

umount /mnt/backup

[/cc]

On automatise le tout

On lieu d’avoir à saisir à la main ou dans un script de démarrage la commande curlftpfs, le plus simple et transparent est d’utiliser le fichier /etc/fstab qui va mounter automatiquement l’espace FTP au démarrage de votre machine.

Pour cela, il faut d’abord créer un fichier /root/.netrc contenant les informations sur votre serveur FTP, donc après un « vi /root/.netrc », il faut ajouter la section suivante:

[cc lang= »bash »]

machine host

login login

password password

[/cc]

Puis une petite sécurité sur ce fichier:

[cc lang= »bash »]

chmod 600 /root/.netrc

[/cc]

Ensuite on édite le fichier /etc/fstab et on y ajoute la ligne suivante:

[cc lang= »bash »]

curlftpfs#host /mnt/backup fuse _netdev,allow_other,uid=1000,gid=1000,umask=0022 0 0

[/cc]

Note: il faut remplacer uid=1000,gid=1000 par les valeurs données par le résultat de la commande « id ».

Un petit…

[cc lang= »bash »]

mount -a

[/cc]

… plus tard et votre répertoire FTP distant devrait être accèssible depuis votre répertoire local /etc/backup !

Source: Linux Config

Catégories
Reseau

Monter un répertoire distant en SSH

Je me sers exlusivement du protocole SSH pour administrer mes machines via une console. Ce protocole permet également d’effectuer des transferts de fichiers via le protocole SCP. Cependant, il était jusqu’a maintenant nécessaire d’utiliser un client (scp sous Linux/BSD, WinSCP sur Windows ou Fugu sur Mac). Cette contrainte n’est plus d’actualité depuis l’apparition de Fuse.

« Pour rappel, Fuse (pour Filesystem in Userspace) permet à un utilisateur (non root) de créer son propre système de fichier sans avoir à modifier le noyau du systeme. Il existe par exemple une extension pour accéder à votre compte Gmail comme si celui-ci était un répertoire de votre disque dur (GmailFS). Fuse a de plus le bon goût d’être développé sous licence open-source GPL et LGPL. »

Pour notre besoin, nous allons utiliser le module SSHFS (SSH sur Fuse).

Installation (sur Fedora)

# yum install fuse-sshfs

Utilisation (sur Linux)

La première chose à faire est de créer, sur votre machine cliente, le répertoire dans lequel sera monté le répertoire distant:

# mkdir /mnt/test

Ensuite, on monte le répertoire distant /home/test qui se trouve sur la machine 192.168.0.2:

# sshfs 192.168.0.2:/home/test/ /mnt/test/

On vérifie en faisant un ls dans le répertorie /mnt/test. Il doit afficher le contenu du répertoire distant.

# ls /mnt/test
test.zip

Pour démonter le répertoire distant, il faut taper la commande suivante:

# fusermount -u /mnt/test

Et voila le travail…