lftp with key + passphrase? [closed]

拥有回忆 提交于 2020-01-01 08:22:13

问题


I'm using lftp to send files to a sftp server, but i don't how to connect with key and passphrase.

So in sftp, I can do this :

sftp -i .ssh/id_rsa.mykey login@my.host.fr
Enter passphrase for key '.ssh/id_rsa.mykey': my passphrase here

So, how can I using lftp with this connecting method ?


回答1:


You must specify the username, and just pass anything as the password, to skip it asking.

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



回答2:


An answer based off Jean-Luc Boss's and wiak's, but a bit more explicit:

To connect to a server, lftp uses an ssh command, by default ssh -a -x. It doesn't have an explicit option for changing the keyfile to use, but as you note, ssh does, so we just need to set lftp to connect using ssh -a -x -i <keyfile> before it connects.

You can do this in a few ways:

  • If you're using lftp's interactive command line, run the following command before you connect:

    set sftp:connect-program "ssh -a -x -i <keyfile>"
    
  • If you're specifying a bunch of commands to lftp using -c, just add that set command to the start of your command sequence:

    lftp -c 'set sftp:connect-program "ssh -a -x -i <keyfile>"; connect sftp://user@example.com; mirror -eR files; ...'
    
  • If you always going to want to use the same key, just add that set ... line from the first bullet to your ~/.lftprc file (or one of the other configuration file options listed in man lftp).




回答3:


Just add:

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

to your ~/.lftprc, as most of the settings can be set permanently there.




回答4:


LFTP doesn't seem to pass or does not use the identity file specified with "ssl:key-file" with SSH, you have to specify it in the sftp:connect-program option: "ssh -a -x -i yourprivatekeyfile"

This should work.



来源:https://stackoverflow.com/questions/11577090/lftp-with-key-passphrase

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!