web-dev-qa-db-ja.com

キー+パスフレーズ付きのlftp?

lftpを使用してファイルをsftpサーバーに送信していますが、キーとパスフレーズを使用して接続する方法がありません。

したがって、sftpでは、これを行うことができます:

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

では、この接続方法でlftpを使用するにはどうすればよいですか?

11
Hakadel

要求をスキップするには、ユーザー名を指定し、パスワードとして何かを渡す必要があります。

lftp -u user,xxx sftp://...
17
Beau Barker

Jean-Luc Bossとwiakに基づいた答えですが、もう少し明確です。

サーバーに接続するために、lftpsshコマンドを使用し、デフォルトではssh -a -xです。使用するキーファイルを変更するための明示的なオプションはありませんが、ご存知のとおり、sshがあるため、その前にssh -a -x -i <keyfile>を使用して接続するようにlftpを設定する必要があります。接続します。

これはいくつかの方法で行うことができます。

  • Lftpのインタラクティブコマンドラインを使用している場合は、接続する前に次のコマンドを実行します。

    set sftp:connect-program "ssh -a -x -i <keyfile>"
    
  • -cを使用してlftpに一連のコマンドを指定する場合は、そのsetコマンドをコマンドシーケンスの先頭に追加するだけです。

    lftp -c 'set sftp:connect-program "ssh -a -x -i <keyfile>"; connect sftp://[email protected]; mirror -eR files; ...'
    
  • 常に同じキーを使用する場合は、最初の箇条書きのset ...行を~/.lftprcファイル(またはman lftpにリストされている他の構成ファイルオプションの1つ)に追加するだけです。 。

16
me_and

追加するだけです:

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

あなたの~/.lftprc、ほとんどの設定はそこで永続的に設定できるため。

6
nwgat

LFTPは、SSHで「ssl:key-file」で指定されたIDファイルを渡さないか、使用しないようです。sftp:connect-programオプションで指定する必要があります:「ssh-a -x-iyourprivatekeyfile」

これはうまくいくはずです。

1
Jean-Luc Boss