![ssh 和 lftp 中地址的前缀协议](https://linux22.com/image/1561426/ssh%20%E5%92%8C%20lftp%20%E4%B8%AD%E5%9C%B0%E5%9D%80%E7%9A%84%E5%89%8D%E7%BC%80%E5%8D%8F%E8%AE%AE.png)
我使用 ssh 连接到我的远程服务器。我可以使用常规 SSH 命令顺利完成此操作,但使用 lftp 进行连接需要在地址前添加 sftp:// 才能正常工作。使用地址 (hostname@domain-name) 与添加 sftp:// 有什么区别?
答案1
命令sftp
行实用程序仅支持一种文件传输协议,安全FTP。同样,该scp
实用程序仅支持SCP。如果您调用其中一个实用程序来传输文件,那么您肯定希望该实用程序使用它支持的一种协议。
lftp
另一方面,它支持六种不同的文件传输协议。来自链接:
lftp 可以处理多种文件访问方法 - FTP、FTPS、HTTP、HTTPS、HFTP、FISH、SFTP 和文件...除了类似 FTP 的协议外,lftp 还支持 BitTorrent 协议作为“torrent”命令。还支持种子。
因此,如果您调用lftp
来传输文件,那么就必须以某种方式告诉它您想要使用哪种协议。
除此之外,sftp
和lftp
是不同的程序,具有不同的功能,由不同的人编写和维护。没有理由期望它们接受完全相同的命令行参数。