带有密钥+密码短语的lftp



我使用lftp将文件发送到SFTP服务器,但我不知道如何使用密钥和密码进行连接。

所以在sftp中,我可以这样做:

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

那么,如何将lftp与这种连接方法结合使用呢?

我也试过:

lftp -e "set ssl:key-file .ssh/id_rsa.mykey" sftp://my.host.fr

基于Jean-Luc Boss和wiak的答案,但更明确一点:

要连接到服务器,lftp使用ssh命令,默认情况下为ssh -a -x。它没有明确的选项来更改要使用的密钥文件,但正如您所注意的,ssh有,所以我们只需要在连接之前将lftp设置为使用ssh -a -x -i <keyfile>进行连接。

你可以通过几种方式做到这一点:

  • 如果您使用的是lftp的交互式命令行,请在连接之前运行以下命令:

    set sftp:connect-program "ssh -a -x -i <keyfile>"
    
  • 如果您使用-clftp指定一组命令,只需将set命令添加到命令序列的开头即可:

    lftp -c 'set sftp:connect-program "ssh -a -x -i <keyfile>"; connect sftp://user@example.com; mirror -eR files; ...'
    
  • 如果您总是想使用相同的键,只需将第一个项目符号中的set ...行添加到~/.lftprc文件(或man lftp中列出的其他配置文件选项之一)。

您必须指定用户名,并将任何内容作为密码传递,才能跳过询问。

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

只需添加:

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

到您的~/.lftprc,因为大多数设置都可以在那里永久设置。

LFTP似乎没有通过或没有使用用"指定的标识文件;ssl:密钥文件;使用SSH。您必须在sftp:connect程序选项:中指定它

ssh -a -x -i yourprivatekeyfile

这应该行得通。

相关内容

  • 没有找到相关文章

最新更新