我正在使用 lftp 连接到 sftp 服务器,但收到“无匹配密码”错误,并且需要指定使用哪个密码。
使用 sftp 连接的命令如下所示:
sftp -c aes256-cbc sftp://sftpserver:10
如何使用 lftp 连接该密码?我找不到有关密码或如何指定要使用哪种加密并让lftp 将其传递给 ssh 的任何信息。我正在寻找类似于 sftp 的选项 -o 的选项,可以传递给 ssh 的选项。
答案1
阅读man lftp
并查看set sftp:connect-program
。这是我的示例(lftp 的 shell 包装器),您可以从中了解如何使用它,在我的例子中,我通过跳转盒使用 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