我使用lftp将文件从我的Cloud 9 IDE传输到远程主机。最近,它似乎停止了工作。我和主持人提出了这个问题,他们认为这个工作正常。实际上,我可以通过FileZilla和一个简单的浏览器连接到ftp主机。我用Cloud 9提出了它,但也没有运气。
我正在使用命令行中的以下内容传输文件:
lftp -e "debug; set ssl:verify-certificate no; put ./res/test.txt -o test.txt; bye" -u abcd,xyz ftp.example.com
(set ssl:verify-certificate no
是前一段时间的补充,为了克服突然出现的类似连接问题...我已经尝试过没有它......同样的结果)
我在C9中发现的是永远尝试连接,有:
---- Connecting to ftp.example.com (xx.xxx.xx.xxx) port 21
**** Socket error (Connection timed out) - reconnecting
---- Closing control socket
---- Connecting to ftp.example.com (xx.xxx.xx.xxx) port 21
**** Socket error (Connection timed out) - reconnecting
---- Closing control socket
---- Connecting to ftp.example.com (xx.xxx.xx.xxx) port 21
很可能很难提供任何帮助,但是有没有人有任何想法,至少可以帮助我诊断?还有其他选择吗?
谢谢。
在我的情况下,lftp没有明确指示ssh使用“密码验证”,它等待键盘输入密码
<--- debug1: Authentications that can continue: keyboard-interactive,password
<--- debug1: Next authentication method: keyboard-interactive
<--- Password authentication
在设置sftp:connect-program到"ssh -oPreferredAuthentications=password -a -x"
之后我摆脱了这个问题。
lftp << !
set sftp:connect-program "ssh -oPreferredAuthentications=password -a -x"
open -u $USER --env-password $PROTOCOL://$HOST
mirror -vvv -c --only-missing -P 600 $SRC_FOLDER /dbfs/mnt/$HOST/$DST_FOLDER
!
如果你仍然有问题,那么你可以通过将-v
传递给ssh
和-d
到open
来启用调试并查看出错的地方
lftp << !
set sftp:connect-program "ssh -a -x -v"
open -d -u $USER --env-password $PROTOCOL://$HOST
ls
!