Hak*_*del 11 linux sftp key passphrase 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
Run Code Online (Sandbox Code Playgroud)
那么,我如何使用这种连接方法使用lftp?
Bea*_*ker 17
您必须指定用户名,并将任何内容作为密码传递,以跳过它询问.
lftp -u user,xxx sftp://...
Run Code Online (Sandbox Code Playgroud)
me_*_*and 16
根据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>"
Run Code Online (Sandbox Code Playgroud)如果要指定要lftp使用的一堆命令-c,只需将该set命令添加到命令序列的开头:
lftp -c 'set sftp:connect-program "ssh -a -x -i <keyfile>"; connect sftp://user@example.com; mirror -eR files; ...'
Run Code Online (Sandbox Code Playgroud)如果您总是想要使用相同的密钥,只需将set ...第一个项目符号中的那一行添加到您的~/.lftprc文件中(或者列出的其他配置文件选项之一man lftp).
只需添加:
set sftp:connect-program "ssh -a -x -i yourprivatekeyfile"
Run Code Online (Sandbox Code Playgroud)
对你来说~/.lftprc,因为大多数设置都可以在那里永久设置.