lftp:当我尝试将远程(无 SSL)文件夹与本地文件夹同步时"FEAT negotiation"消息



我想使用 lftp 将远程文件夹与本地文件夹同步。

当我第一次安装"lftp"并创建此脚本时:

#!/bin/bash
#get username and password
USER=...        #Your username
PASS=...        #Your password
HOST="..."         #Keep just the address
echo Sync started ...
LCD="/var/www/myfolder/app"    #Your local directory
RCD="/app"                   #FTP server directory
lftp -f "
open $HOST
user $USER $PASS
lcd $LCD
mirror --continue --reverse --delete --no-symlinks --exclude .gitkeep --exclude .gitignore --exclude .bower.json --verbose $LCD $RCD
bye
"

一切都像魅力一样。

之后,我尝试编译支持 SSL 的 lftp(我下载了源代码,编译在 deb 包中并安装了它(以同步到 SSL FTP 服务器。我没有弄清楚,但我不需要更多,所以我想回到开始的情况。

现在,即使我删除了 lftp 并在没有 SSL 的情况下再次安装它,当我执行脚本时,我会收到以下消息:

mkdir `/app' [FEAT negotiation...]

该命令只是超时(我在调试中看到它(。我该如何解决?

我遇到了完全相同的问题。此问题已通过在连接字符串中显式提供协议前缀"sftp">来解决。默认情况下,lftp 使用"ftp"作为协议。

HOST="sftp://<hostname>" # <-- make sure that you have specified the protocol here
lftp <<EOF 
set ssl:verify-certificate no  
set sftp:auto-confirm yes
open $HOST -p $PORT -u $USER,$PASSWORD
mirror $RCD $LCD
EOF

我已经关闭了 FEAT 功能,它就像一个魅力。只需在打开连接之前使用此命令:

set ftp:use-feat false

相关内容

  • 没有找到相关文章

最新更新