LFTP est un excellent client FTP qui permet de facilement transférer des fichiers en ligne de commande. Il est parfait pour automatiser des tâches de sauvegarde avec des scripts bash / shell. Par défaut LFTP ne supporte que le FTP mais il suffit de rajouter la librairie SSL pour qu’il puisse se connecter en SFTP. Ce tuto explique comment recompiler LFTP avec support SSL.
Avant de commencer, vérifier les librairies utilisées.
Pour cela récupérer le chemin d’installation
which lftp
/usr/bin/lftp
Ensuite, vérifiez les librairies utilisées
ldd /usr/bin/lftp
linux-vdso.so.1 (0x00007ffe56ab8000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f4a8787c000)
S’il le libssl n’apparait pas dans la liste, il faut l’installer
libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0xb7f5c000)
Lancer l’installation avec la commande suivante:
sudo apt-get install libssl-dev)
Il ne reste plus qu’à recompiler lftp avec le support SSL.
/configure --with-openssl=/usr/lib
Le chemin du .configure dépend de là ou vous avez décompressé lftp, voir explication sur cette page.
Si vous rencontrez le problème suivant lors de la première connexion:
Erreur fatale: Host key verification failed
Dans la conf, ajouté le paramètre suivante:
set sftp:auto-confirm yes
L’autre solution toute simple est d’installer la clé à la main en faisant une simple connexion, exemple:
ssh monseveur.com
The authenticity of host 'monseveur.com (217.160.2xx.xx)' can't be established.
ECDSA key fingerprint is 78:e5:05:a3:5d:20:e5:43:c6:81:43:f5:0b:c7:be:96.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'monseveur.com' (ECDSA) to the list of known hosts.
et voilà, vous êtes prêt à utiliser LFTP.
Vous pouvez vérifier la connexion
lftp sftp://utilisateur:[email protected]
Exemple pour sauvegarder un site distant sur un disque local
lftp sftp://eric:[email protected] -e "mirror -e /wp-content/uploads/ /dd1/www/geekmag/wp-content/uploads ; quit"