LFTP連線 | 基本操作 | 連線設定 | FTPS| SFTP
Intro
lftp在這年頭還是有機會用到,像被綁架的主機環境僅提供FTP Access。
至於為何使用lftp? 使用過ftp就知道...連folder控制都成問題。
lftp連線
lftp [-d] [-e cmd] [-p port] [-u user[,pass]] [site]
For example:
lftp www.yourdomain.com -u username,password
也可以先連線至site後再使用login
:
lftp www.yourdomain.com
login <user> [<pass>]
基本操作(本地端與遠端) - local & remote directory
ls, !ls
ls
!ls
pwd, lpwd
前綴l
為Local端
pwd
lpwd
cd, lcd
前綴l
為Local端
cd
lcd
檔案傳輸
put 上傳
put local-filename
pget 下載
pget remote-filename
Mirror 鏡像
針對目前Local端與Remote端Directory做操作:
下載:
mirror
上傳-R
:
mirror -R
Exclude
參數說明:
-x RX, --exclude=RX exclude matching files
-X GP, --exclude-glob=GP exclude matching files
-n, --only-newer Only new matching files
略過指定目錄:
mirror --exclude logs/ --exclude reports/
略過符合Pattern檔案:
mirror --exclude-glob *.cvs
連線設定 - SET
指令可以放到~/.lftprc
,或直接在命令列追加執行:
lftp www.yourdomain.com -u username,password -e "set ftp:ssl-allow no;"
lftp Certificate verification error
set ftp:ssl-allow no;
頻寬限制 - limit-rate
set net:connection-limit 1
set net:limit-rate 0:512000
(bytes per second) 100K means 102400.
FTPS連線
在LFTP使用FTPS建議使用open ftps://
指令連線:
open ftps://hostname.ftp
login <username>
ftps://
預設port為990
如需設定調整部分(如略過SSL驗證):進入lftp
指令後,設定以下script並連入主機:
set ftps:initial-prot "";
set ftp:ssl-force true;
set ftp:ssl-protect-data true;
set ssl:verify-certificate false;
open ftps://hostname.ftp
login <username>
憑證認證問題如:
Fatal error: Certificate verification: unable to get local issuer certificate
-e
Script用法:
lftp -e "set ssl:verify-certificate false; open ftps://host.name; login username password"
SFTP連線 (應用於含密碼指令登入)
SFTP因為安全性不支援密碼參數,所以使用LFTP來連線SFTP,可以應用在連線指令含密碼情境上:
lftp -e "open sftp://host.name:22; login username password"