Réception d’un fichier via R66

Nous allons mettre en place un premier transfert: la réception d’un fichier sur serveur R66 depuis un client R66. Nous allons pour cela utiliser le serveur Waarp Transfer installé sur le serveur comme serveur d’origine.

Login et mot de passe

L’authentification R66 étant bidirectionnelle (le client s’authentifie au serveur et le serveur s’authentifie au client), le client R66 utilisera le login « r66_client » et le mot de passe « client_pwd » et le serveur de waarp-transfer utilisera le login « r66_server » et le mot de passe « server_pwd ».

Configuration serveur

Pour pouvoir recevoir des fichiers, nous allons activer le serveur R66 de Waarp Transfer, puis créer un utilisateur, et une règle de transfert.

Activation d’un serveur R66

Pour pouvoir envoyer des fichiers en R66 avec Transfer, nous allons commencer par activer le partenaire R66 :

$ waarp-transfer server update r66 --address localhost:6666 --config serverLogin:r66_server --config serverPassword:server_pwd
The server r66 was successfully updated.
$ waarp-transfer server enable r66
The server r66 was successfully enabled.
# systemctl server start r66
The server r66 was successfully started.

Voir aussi

Plus d’options de configuration sont disponibles pour les serveurs R66.

Le détail des options est disponible ici

Voir aussi

Optionnellement, si vous souhaitez sécuriser vos transfert vers ce partenaire avec TLS, il faut à la place démarrer le serveur r66-tls et lui ajouter des certificats

$ waarp-transfer server cert r66-tls add --name "r66-tls_certs" --private-key "key.pem" --certificate "cert.pem"
The certificate r66-tls_certs was successfully added.
$ waarp-transfer server enable r66-tls
The server r66-tls was successfully enabled.
# systemctl server start r66-tls
The server r66-tls was successfully started.

Il vous faudra également activer TLS dans la configuration de l’agent Waarp R66, veuillez vous référer à la documentation Waarp R66 pour la marche à suivre.

Création d’un utilisateur

Pour que le serveur accepte la connection du client, nous devons maintenant ajouter un utilisateur au serveur r66. Cela se fait en créant un « compte local » dans Waarp Transfer. Cet utilisateur aura r66_client comme login et client_pwd comme mot de passe:

$ waarp-transfer account local r66 add --login "r66_client" --password "client_pwd"
The account r66_client was successfully added.

L’utilisateur est maintenant créé. Pour pouvoir faire un transfert, nous devons maintenant créer une règle de transfert

Ajout d’un règle

Ici, nous voulons recevoir un fichier avec Transfer. La règle aura donc le sens receive («réception») : le sens des règles est toujours à prendre du point de vu de Waarp Transfer (si on envoi un fichier à Transfer, celui-ci le reçoit). Attention, le nom de la règle doit être identique à celui de la règle définie dans l’instance Waarp R66 (recv dans notre exemple).

Voici donc la commande pour créer la règle :

$ waarp-transfer rule add --name "recv" --direction "receive"
The rule recv was successfully added.

Configuration du client R66

Pour notre exemple, nous utiliserons la même instance Waarp Transfer comme client. Cependant vous pouvez tout à fait suivre cette partie avec une autre instance Waarp Transfer, ou avec une installation Waarp R66 en suivant la documentation Waarp R66.

Création du partenaire distant

Nous allons ajouter le serveur paramétré ci-dessus en tant que partenaire.

$ waarp-transfer partner add r66 --protocol r66 --address localhost:6666 --config serverLogin:r66_server --config serverPassword:server_pwd
The partner r66 was successfully added.

Création du login client

Nous allons ajouter l’utilisateur avec lequel le client se connectera au serveur.

$ waarp-transfer account remote r66 add --login "r66_client" --password "client_pwd"
The account r66_client was successfully added.

Ajouter la règle de reception

Il nous faut maintenant ajouter le pendant de la règle recv du serveur. Cette règle doit être en mode send («envoie»).

$ waarp-transfer rule add --name "recv" --direction "send"
The rule recv was successfully added.

Premier transfert

Maintenant que nous avons un partenaire, un utilisateur et une règle, nous pouvons effectuer un transfert. Créons d’abord un fichier à transférer, puis envoyons le avec Waarp Transfer :

# echo "hello world" > /var/lib/waarp-transfer/out/a-envoyer.txt

# waarp-transfer put --partner r66 --login r66_client --rule recv --file a-envoyer

Après avoir établi une connexion avec Waarp Transfer, nous avons déposé un fichier dans le dossier in du partenaire avec la règle recv.

Nous pouvons vérifier que le transfert s’est bien passé dans l’historique des transferts :

$ waarp-transfer history list
   History:
   ● Transfer 1 (as server) [DONE]
      Remote ID:       -9223372036854775806
      Way:             receive
      Protocol:        r66
      Rule:            recv
      Requester:       r66_client
      Requested:       r66
      Local filepath:  /home/mro/Projects/doc/waarp-transfer/data/in/a-envoyer.txt
      Remote filepath: /a-envoyer.txt
      File size:       12
      Block size:      0
      Block check:     false
      Hash algo:
      Start date:      2022-09-12T12:49:45.561847749+02:00
      End date:        2022-09-12T12:49:45.651523669+02:00
      Transfer info:
         - ORIGINALSIZE: 12
         - __userContent__: noinfo
         - follow: -8.416327112866194e+18

Le fichier disponible est maintenant dans le dossier in de Waarp Transfer. Comme nous n’avons pas spécifié de dossier spécifique dans la règle, c’est le dossier par défaut de l’instance qui est utilisé :

$ ls -l /var/lib/waarp-transfer/in
total 4
-rw-rw-r--. 1 waarp waarp 13 Sep 17 17:27 a-envoyer.txt