Lftp is a powerful command line tool which supports FTP, HTTP, SFTP, FISH, TORRENT protocols for file and data transfer. As we can see it supports popular data and file transfer protocols. It uses GNU TLS or OpenSSL for SSL/TLS encryption. In this tutorial we will look installing and different examples with lftp
.
Install
lftp
is provided Linux distributions from official repositories. We can install it for yum
based distros like Fedora, RedHAT, CentOS with the following command.
$ sudo yum install lftp -y
another alternative is installing it into apt
based distros like Debian, Ubuntu, Kali, Mint.
$ sudo yum install lftp -y
Syntax and Help
lftp
provides very simple syntax. We can show syntax and help information with the -h
option like below.
$ lftp -h

Configuration File
lftp
tool have very detailed configuration file. This configuration file can be used for specify alias, ssl configuration, proxy configuration, anonymous password, etc. Default path and name of the configuration file is /etc/lftp.conf
. We can print this configuration file like below. In order to edit this file we need root privileges.
$ cat /etc/lftp.conf

Interactive Shell
lftp
also provides an interactive shell like FTP connections. We just need to issue the lftp
command where we will enter to the interactive shell.
$ lftp

Connect FTP
Now we can start the action. We will connect to an FTP server with the lftp
command. We just need to specify the protocol which is FTP in this case and the IP address or host name of the server. In this example we will connect to ftp.metu.edu.tr
.
$ lftp ftp://ftp.metu.edu.tr

Connect SFTP
Another supported protocol is SFTP. SFTP is very similar with the FTP protocol. But the S
makes the SFTP secure which means the network traffic is encrytpted with SSL/TLS. Other things are the same with FTP. In this example we will connect using sftp://
of IP address 192.168.1.1 .
$ lftp sftp://192.168.1.1
Disable SSL Certification Verification
There are a lot of configuration about lftp
. One of the most error prone configuration is SSL and SSL verification. As we know SSL certificates are approved by the authorities. But in some cases servers can use unapproved certificates. This will create following error.
Fatal error: Certificate verification: Not trusted
In order to prevent this connection error we need to turn of the SSL certificate verify. Following configuration line will disable SSL verification. This configuration line can be put into global configuration file /etc/lftp.conf
or into user local configuration file ~/.lftp/rc
set ssl:verify-certificate no
Proxy Configuration
In corporate environment proxy is popular connection technology. In this case we need to specify the proxy configuration to the lftp
. We will set proxy configuration by using bash environment variables. We can set HTTP proxy like below. This line should be put into global configuration file /etc/lftp.conf
or user local configuration file /~/.lftp/rc
.
set http:proxy 192.168.1.1:8080