Modifié par Schwarz, le 21 May 2010
Utilisation de BBFTP
1. Présentation
BBFTP est un protocole de transfert de masse. Il permet de transférer de gros fichiers avec de meilleures performances que FTP grâce à l'implémentation des "grandes fenêtres" (
RFC 1323), des canaux de transfert parallèles et de la compression de donnée à la volée. En outre il est plus sécurisé puisqu'il encrypte les informations de connexion (user/password).
BBFTP est le logiciel qui implémente ce protocole. Il a été concu et écrit à l'origine par Gilles Farrache au Centre de Calcul. Il est actuellement développé et maintenu par Lionel Schwarz.
Il intègre l'authentification
AFS pour obtenir un token et donc lire/écrire sur votre espace HOME, GROUP ou THRONG. Il est interfacé avec
rfio, ce qui permet de lire/écrire directement depuis/vers
HPSS.
La documentation complète de BBFTP se trouve sur la page Web:
http://doc.in2p3.fr/bbftp.
2. Utilisation courante
Pour transférer des fichiers depuis/vers le Centre de Calcul, il y a plusieurs solutions:
- Lancer un client BBFTP sur le site distant qui se connecte sur le serveur BBFTPD du Centre. Le nom du serveur est ccbbftp. L'authentification se fait par votre logon AFS. Exemple:
bbftp -u logon_AFS -i bbftp.cmd ccbbftp.in2p3.fr
- Lancer un client BBFTP au Centre qui se connecte sur un serveur sur le site distant. Le client BBFTP est installé sur toutes les machines interactives et les workers. Exemple:
bbftp -u logon_hote_distant -i bbftp.cmd hote_distant
Si aucun daemon BBFTPD ne tourne sur l'hôte distant, il est possible de le lancer par un tunnel SSH en rajoutant l'option -s. Exemple:bbftp -s -u logon_hote_distant -i bbftp.cmd hote_distant
3. Transfert sans saisie de mot de passe
3.1. Clé SSH v1 ou v2 (RSA/DSA)
Pour transférer des fichiers depuis/vers HPSS en mode batch, il est possible d'accéder au serveur sans saisir de mot de passe grâce aux clés SSH. Ce service n'est pas automatique. Il est ouvert aux utilisateurs qui en font la demande explicite. Les limitations sont les suivantes:
- L'accès ne peut se faire que depuis une ou plusieurs machine(s) précises.
- Comme vous n'obtiendrez pas de token AFS, vous n'aurez accès qu'à HPSS.
Pour utiliser une clé pour faire des transferts, envoyez une demande à
User Support ou au
support BBFTP.
Il est conseillé d'utiliser les clés SSH v2.
3.1.1. Création d'une paire de clés SSH v2
Pour créer une paire clé publique/clé privée SSH v2, tapez:
- (clé publique: id_rsa.pub, clé privée: id_rsa)
> ssh-keygen -t rsa
- ou (clé publique: id_dsa.pub, clé privée: id_dsa)
> ssh-keygen -t dsa
3.1.2. Création d'une paire de clés SSH v1
Pour créer une paire clé publique/clé privée SSH v1 (clé publique:
identity.pub, clé privée:
identity), tapez:
> ssh-keygen
3.1.3. Configuration du client SSH
Pour configurer le client SSH (fichier
~/.ssh/config sur la machine cliente):
- v1:
Host ccbbftp.in2p3.fr
Port 22
Hostname ccbbftp.in2p3.fr
Protocol 1
PasswordAuthentication no
RSAAuthentication yes
User votre_logon
IdentityFile votre_cle_privee
- v2:
Host ccbbftp.in2p3.fr
Port 22
Hostname ccbbftp.in2p3.fr
Protocol 2
PasswordAuthentication no
PubkeyAuthentication yes
User votre_logon
IdentityFile votre_cle_privee
La commande bbftp sera donc:
> bbftp -[e|i] ... -u votre_logon -s ccbbftp.in2p3.fr
Si votre clé est protégée par un mot de passe (passphrase), il est possible d'éviter de la saisir à l'appel de chaque commande bbftp en utilisant un
agent ssh:
> eval `ssh-agent`
> ssh-add
Ensuite pendant toute la durée de vie de l'agent, l'accès pourra se faire sans saisie de la passphrase.
3.2. Certificat X509
Il existe un autre moyen de transférer sans mot de passe si vous avez un certificat CNRS. Dans ce cas vous pouvez vous connecter au serveur ccbbftp avec un client BBFTP avec certificats (nécessite d'avoir Globus GSI installée). Ce service n'est disponible qu'aux utilisateurs qui en font la demande explicite. Les limitations sont les suivantes:
- Comme vous n'obtiendrez pas de token AFS, vous n'aurez accès qu'à HPSS.
Pour utiliser un certificat pour accéder à
ccbbftp, envoyez une demande à
User Support ou au
support BBFTP
ATTENTION: le client BBFTP avec certificats n'a été testé que sur Linux et Solaris. Pour utiliser les certificats, la commande bbftp sera:
> bbftp -i cmdfile -g 'bbftp/in2p3.fr' ccbbftp.in2p3.fr
4. Obtenir de l'aide