答えオフに基づいジャン=リュック・ボスさんとwiakのですが、もう少し明確な:
サーバーに接続する場合、lftp
はssh
コマンドを使用します。デフォルトはssh -a -x
です。使用するキーファイルを変更するための明示的なオプションはありませんが、注意するように、ssh
があるので、接続する前にssh -a -x -i <keyfile>
を使用して接続するには、lftp
を接続する必要があります。
あなたは、いくつかの方法でこれを行うことができます:
set sftp:connect-program "ssh -a -x -i <keyfile>
をあなたがしている場合:あなたはlftpのの対話型のコマンドラインを使用している場合は、接続する前に、次のコマンドを実行します
一連のコマンドをlftp
に指定して-c
を使用する場合は、そのコマンドをコマンドシーケンスの先頭に追加してください:
lftp -c 'set sftp:connect-program "ssh -a -x -i <keyfile>"; connect sftp://[email protected]; mirror -eR files; ...'
常に同じキーを使用する場合は、最初の箇条書きのset ...
行を~/.lftprc
ファイル(またはman lftp
にリストされている他の構成ファイルオプションの1つ)に追加してください。
lftpは複数のプロトコル(ftp、ftps、sftp、...)をサポートするクライアントなので、どのプロトコルを使用しようとしていますか?例えばftpは公開鍵認証をサポートしていないので、あなたはusename + passwordで悩まされています。 – mata
私はsftpを使用しているので、私の鍵でパスフレーズを使うことができます。 私はこれを試しています:** lftp -e "ssl:key-file .ssh/id_rsa.mykey" sftp://my.host.fr**を設定しましたが、動作しませんでした... – Hakadel
なぜdon ' sshベースのプロトコルのより良いサポートを提供する 'scp'コマンドまたは' sftp'コマンドを使用します... lftpで動作するように見えるのは 'ssh-add'を使用して、実行中の' ssh-agent 'これはlftpが使用します。 – mata