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