我正在尝试使用 LFTP (版本 4.8.3) 连接到我的 KVM。该服务器已经允许我远程执行 SSH通过终端和 SFTP 通过 FTP 客户端(发送应用程序)。
我想这样做是为了使用 GitLab 执行 CI/CD,但 LFTP 在我的本地计算机 (macOS Sierra 10.12.6) 中不起作用,因此在 CI/CD 管道中也不起作用。
这就是我所做的:
lftp -d -c "set ftp:ssl-allow true; set ftp:use-feat false; open -u my_user,my_pass -p 22 my_ip; mirror -Rnv /Applications/XAMPP/xamppfiles/htdocs/my-website /var/www/html --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/"
这就是 LFTP 返回的内容:
---- Resolving host address... ---- 1 address found: my_ip ---- Connecting to my_ip (my_ip) port 22 <--- SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.4 mkdir `/var/www/html' [TLS negotiation...]
它像这样挂了几分钟,然后返回:
[same lines as ^ before] **** Peer closed connection <––––––––––––––– ---- Resolving host address... [etc]
就是这样。好像可以在那儿闲逛”连接-TLS协商-断开连接“永远循环。
超细纤维束不会阻止 SSH 连接,并且我在日志文件中没有看到任何错误。我尝试向任何人开放 SSH 端口,但仍然不成功。我试过同步但没有用,因为它要求我提供 SSH 用户的密码,而我无法使用 GitLab 的.gitlab-ci.yml
配置文件进行设置。
我不知道我还能做什么。我想使用 LFTP,但我愿意接受其他选项,例如卷曲或者获取。
答案1
在您当前的命令中,lftp
不是使用sftp
,它是基于 SSH 协议的 FTP,而是ftps
基于 SSL 的 FTP。
要lftp
作为sftp
客户端工作,您需要添加sftp://
到您要连接的主机。
如果您想要通过 SSL 进行 FTP,则需要将命令中的端口从端口 22 更改为 FTP 端口(默认情况下为 21)。