SFTPサーバーに接続するときにlftpが使用するパスワードを指定する方法は?

SFTPサーバーに接続するときにlftpが使用するパスワードを指定する方法は?

lftpを使用してsftpサーバーに接続していますが、「一致するパスワードなし」エラーが発生し、使用するパスワードを指定する必要があります。

sftpで接続するコマンドは次のとおりです。

sftp -c aes256-cbc sftp://sftpserver:10

lftpを使用してこのパスワードをどのように接続できますか?パスワードに関する情報や使用する暗号化を指定し、lftpがそれをsshに渡す方法を見つけることができません。私はsshに渡すことができるsftpオプション-oに似たものを探しています。

答え1

読んでman lftp参照してくださいset sftp:connect-program。ここに使用方法を見ることができる私の例(lftp用のシェルラッパー)があります。私の例では、ジャンプボックスを介してlftpを使用してsftpに使用しています。

...
sshargs="ssh -F ${tmpdir}/.ssh/config -J "
sshargs+="${JUMPBOX_USER}@${JUMPBOX_HOST}"

export LFTP_HOME=${tmpdir}
cat > ${tmpdir}/rc <<EOF
set sftp:connect-program ${sshargs}
EOF

lftp -c "
open -u ${WEBSERVER_USER},whatever sftp://${WEBSERVER_HOST}${DEST_DIR}
cd ${SRC_DIR} && mirror --dry-run -R --ignore-size -L --no-perms --no-umask
bye
"

答え2

対話型タスクの場合は、lftpの最初のコマンドとして次のコマンドを入力するだけです。

set sftp:connect-program "ssh -c aes256-cbc"

または、次のように自動ロードのためにこのコマンドをrcファイルに保存することもできます。~/.config/lftp/rc

関連情報