lftp avec clé + phrase secrète?

J’utilise lftp pour envoyer des fichiers sur un serveur sftp, mais je ne sais pas comment me connecter avec la clé et la phrase secrète.

Donc, en sftp, je peux le faire:

sftp -i .ssh/id_rsa.mykey [email protected] Enter passphrase for key '.ssh/id_rsa.mykey': my passphrase here 

Alors, comment puis-je utiliser lftp avec cette méthode de connexion?

Vous devez spécifier le nom d’utilisateur et simplement passer le mot de passe pour l’ignorer.

 lftp -u user,xxx sftp://... 

Une réponse basée sur celle de Jean-Luc Boss et de Wiak, mais un peu plus explicite:

Pour se connecter à un serveur, lftp utilise une commande ssh , par défaut ssh -a -x . Il n’a pas d’option explicite pour modifier le fichier de clés à utiliser, mais comme vous le notez, ssh fait, il suffit donc de définir lftp pour qu’il se connecte à l’aide de ssh -a -x -i avant sa connexion.

Vous pouvez le faire de plusieurs manières:

  • Si vous utilisez la ligne de commande interactive de lftp, exécutez la commande suivante avant de vous connecter:

     set sftp:connect-program "ssh -a -x -i  
  • Si vous spécifiez un tas de commandes à lftp utilisant -c , ajoutez simplement cette commande set au début de votre séquence de commandes:

     lftp -c 'set sftp:connect-program "ssh -a -x -i "; connect sftp://[email protected]; mirror -eR files; ...' 
  • Si vous voulez toujours utiliser la même clé, ajoutez simplement cette ligne set ... depuis la première puce à votre fichier ~/.lftprc (ou à l’une des autres options de fichier de configuration répertoriées dans man lftp ).

Ajoutez simplement:

 set sftp:connect-program "ssh -a -x -i yourprivatekeyfile" 

à votre ~/.lftprc , car la plupart des parameters peuvent être définis de manière permanente là-bas.

LFTP ne semble pas réussir ou n’utilise pas le fichier d’identité spécifié avec “ssl: key-file” avec SSH, vous devez le spécifier dans l’option sftp: connect-program: “ssh -a -x -i yourprivatekeyfile”

Cela devrait fonctionner.