Я использую SSH для подключения к моему удаленному серверу. Я могу сделать это нормально, используя обычные команды SSH, но использование lftp для подключения требует добавления sftp:// к адресу, чтобы он работал. В чем разница между использованием адреса (hostname @ domain-name) и добавлением sftp://?
1 ответ
Утилита sftp
командной строки поддерживает только один протокол передачи файлов, SFTP. Аналогично, утилита scp
поддерживает только SCP. Если вы вызываете одну из этих утилит для передачи файла, это то, что вы хотите, чтобы утилита использовала тот протокол, который она поддерживает.
lftp
с другой стороны, поддерживает полдюжины различных протоколов передачи файлов. По ссылке:
lftp может обрабатывать несколько методов доступа к файлам - FTP, FTPS, HTTP, HTTPS, HFTP, FISH, SFTP и файл ...Помимо FTP-подобных протоколов, lftp поддерживает протокол BitTorrent как команду `torrent '. Посев также поддерживается.
Так что, если вы вызываете lftp
для передачи файла, имеет смысл, что вам придется как-то сообщить ему, какой протокол вы хотите использовать.
Кроме того, sftp
и lftp
- это разные программы с разными возможностями, написанные и поддерживаемые разными группами людей. Нет причин ожидать, что они примут те же параметры командной строки.