我使用的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将文件发送到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 -u user,xxx sftp://...
答案基于关闭让 - 吕克Boss的和wiak的,但有点更加明确:
要连接到服务器, lftp
使用了ssh
命令,默认ssh -a -x
。 它没有改变使用密钥文件中的明确选择,但你注意, ssh
做,所以我们只需要设置lftp
使用连接ssh -a -x -i <keyfile>
它连接了。
您可以在几个方面做到这一点:
如果您使用的lftp的交互式命令行,连接之前运行以下命令:
set sftp:connect-program "ssh -a -x -i <keyfile>"
如果你指定了一堆命令来lftp
使用-c
,只需添加set命令,你的命令序列的开始:
lftp -c 'set sftp:connect-program "ssh -a -x -i <keyfile>"; connect sftp://user@example.com; mirror -eR files; ...'
如果你总是会想使用相同的密钥,只需添加set ...
从第一颗子弹到你行~/.lftprc
文件(或中列出的其他配置文件选项一个man lftp
)。
只需添加:
set sftp:connect-program "ssh -a -x -i yourprivatekeyfile"
你的~/.lftprc
,因为大部分的设置都可以在那里永久设置。
LFTP似乎不通过或不使用与指定的标识文件“SSL:密钥文件”使用SSH,你在SFTP指定它:连接程序选项:“SSH -a -x -i yourprivatekeyfile”
这应该工作。