當前位置:首頁 » 操作系統 » linuxftps

linuxftps

發布時間: 2023-02-03 17:26:36

linux只安裝vsftpd就能使用ftp命令

linux不需要安裝vxftpd也可以使用ftp命令(FTP客戶端)。

在大多發行版都有打包,請到各大發行版的ftp列表中得到,或者在發行版的安裝盤中也能得到。lftp是一個命令行式的ftp客戶端。對中文支持較好。如果您在linux 的text模式下,要安裝zhcon或者cce之類的。

安裝:

1、RPM包管理的系統,請到

http://freshrpms.net
http;//rpmfind.net 上查找lftp的最新包,可以用

#rpm -ivh name.rpm
#rpm -Uvh name.rpm 這是升級之用

2、源碼包安裝舉例:lftp-3.2.0.tar.bz2

#tar zxvf lftp-3.2.0.tar.bz2
#cd lftp-3.2.0
#./configure
#make
#make install

3.調用方法:

lftp ftp://用戶名:密碼@地址

比如:
[beinan@S01~]$lftp ftp://[email protected]
口令:
lftp [email protected]:~>
lftp [email protected]:~>ls

-rw-r--r-- 1 1000 100 44387 May 18 10:04 xvmain.jpg
-rw-r--r-- 1 1000 100 202643 May 18 09:45 xxx.jpeg
-rw-r--r-- 1 1000 100 0 May 20 10:01 鯊魚的故事.txt

二、使用方法:

0.簡單的用法:lcd 切換本地目錄,比如 lcd /opt
get 取回一個文件,put 向ftp伺服器傳文件;

1、獲得幫助:

代碼:

lftp [email protected]:~> help
!<shell-command>(commands)
alias [<name> [<value>]]anon
bookmark [SUBCMD] cache [SUBCMD]
cat [-b] <files>cd <rdir>
chmod [OPTS] mode file... close [-a]
[re]cls [opts] [path/][pattern] debug [<level>|off] [-o <file>]
[options] <dirs> exit [<code>|bg]
get [OPTS] <rfile> [-o <lfile>] glob [OPTS] <cmd> <args>
help [<cmd>]history -w file|-r file|-c|-l [cnt]
jobs [-v] kill all|<job_no>
lcd <ldir>lftp [OPTS] <site>
ls [<args>] mget [OPTS] <files>
mirror [OPTS] [remote [local]]mkdir [-p] <dirs>
mole name [args]more <files>
mput [OPTS] <files> mrm <files>
mv <file1> <file2>[re]nlist [<args>]
open [OPTS] <site>pget [OPTS] <rfile> [-o <lfile>]
put [OPTS] <lfile> [-o <rfile>] pwd [-p]
queue [OPTS] [<cmd>]quote <cmd>
repeat [delay] [command]rm [-r] [-f] <files>
rmdir [-f] <dirs> scache [<session_no>]
set [OPT] [<var> [<val>]] site <site_cmd>
source <file> user <user|URL> [<pass>]
version wait [<jobno>]
zcat <files>zmore <files>

如果針對lftp的每個命令的幫助,應該是:

lftp [email protected]:~> help 命令

比如

代碼:
lftp [email protected]:~> help get

用法: get [OPTS] <rfile> [-o <lfile>]

Retrieve remote file <rfile> and store it to local file <lfile>.
-o <lfile> specifies local file name (default - basename of rfile)
-ccontinue, reget
-Edelete remote files after successful transfer
-ause ascii mode (binary is the default)
-O <base> specifies base directory or URL where files should be placed

簡介:gftp基於gtk的ftp客戶端,大家用的也比較多吧,支持中文目錄。如果您的gftp不能支持中文,請升級版本。

# Written in C and has a text interface and a GTK+ 1.2/2.x interface
# Supports the FTP, FTPS (control connection only), HTTP, HTTPS, SSH and FSP protocols
# FTP and HTTP proxy server support
# Supports FXP file transfers (transferring files between 2 remote servers via FTP)
# Supports UNIX, EPLF, Novell, MacOS, VMS, MVS and NT (DOS) style directory listings
# Bookmarks menu to allow you to quickly connect to remote sites

下載安裝:

在各大發行版中,都有gftp的打包,可以用各發行版自帶的工具來安裝。我只說源碼包安裝:

源碼包安裝,通用於所有發行版,舉例說明:gftp-2.0.18.tar.bz2

代碼:
[root@S01ftp]#ls -lh

總用量 1.4M

-rw-r--r--1 root root 1.4M 2005-05-21 09:18 gftp-2.0.18.tar.bz2
[root@S01ftp]#tar jxvf gftp-2.0.18.tar.bz2
[[email protected]]#./configure
[[email protected]]#make
[[email protected]]#make install

註:因為gftp依賴gtk,如果不能make過去,您應該指定PKG_CONFIG_PATH

[[email protected]]# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

調用:

代碼:

[[email protected]]#gftp

⑵ linux怎麼get ftps的數據

FTP連接

1
打開終端, 滑鼠點擊, 或者輸入快捷鍵(Ctrl+Alt+T)

2
Linux ftp命令的一般格式如下:$ ftp 主機名/IP,其中「主機名/IP」是所要連接的遠程機的主機名或IP地址。在命令行中,主機名屬於選項,如果指定主機名,ftp將試圖與遠程機的ftp服務程序進行連接;

3
如果沒有指定主機名,ftp將給出提示符,等待用戶輸入命令:$ ftp,ftp >,此時在ftp>提示符後面輸入open命令加主機名或IP地址,將試圖連接指定的主機。

4
不管使用哪一種方法,如果連接成功,需要在遠程機上登錄。用戶如果在遠程機上有帳號,就可以通過ftp使用這一帳號並需要提供口令。在遠程機上的用戶帳號的讀寫許可權決定該用戶在遠程機上能下載什麼文件和將上載文件放到哪個目錄中

END
FTP命令

1
最常用的命令有:
ls 列出遠程機的當前目錄
cd 在遠程機上改變工作目錄
lcd 在本地機上改變工作目錄
ascii 設置文件傳輸方式為ASCII模式
binary 設置文件傳輸方式為二進制模式
close 終止當前的ftp會話
hash 每次傳輸完數據緩沖區中的數據後就顯示一個#號
get(mget) 從遠程機傳送指定文件到本地機
put(mput) 從本地機傳送指定文件到遠程機
open 連接遠程ftp站點
斷開與遠程機的連接並退出ftp
? 顯示本地幫助信息
! 轉到Shell中

⑶ Linux-SSL和SSH和OpenSSH,OpenSSL有什麼區別

ssl是通訊鏈路的附加層。可以包含很多協議。https, ftps, .....
ssh只是加密的shell,最初是用來替代telnet的。通過port forward,也可以讓其他協議通過ssh的隧道而起到加密的效果。
SSL是一種國際標準的加密及身份認證通信協議,您用的瀏覽器就支持此協議。SSL(Secure Sockets Layer)最初是由美國Netscape公司研究出來的,後來成為了Internet網上安全通訊與交易的標准。SSL協議使用通訊雙方的客戶證書以及CA根證書,允許客戶/伺服器應用以一種不能被偷聽的方式通訊,在通訊雙方間建立起了一條安全的、可信任的通訊通道。它具備以下基本特徵:信息保密性、信息完整性、相互鑒定。 主要用於提高應用程序之間數據的安全系數。SSL協議的整個概念可以被總結為:一個保證任何安裝了安全套接字的客戶和伺服器間事務安全的協議,它涉及所有TC/IP應用程序。

SSH的英文全稱是Secure SHell。通過使用SSH,你可以把所有傳輸的數據進行加密,這樣「中間人」這種攻擊方式就不可能實現了,而且也能夠防止DNS和IP欺騙。還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提供一個安全的「通道」。SSH是由客戶端和服務端的軟體組成的,有兩個不兼容的版本分別是:1.x和2.x。用SSH 2.x的客戶程序是不能連接到SSH 1.x的服務程序上去的。OpenSSH 2.x同時支持SSH 1.x和2.x。SSH的安全驗證是如何工作的從客戶端來看,SSH提供兩種級別的安全驗證。第一種級別(基於口令的安全驗證)只要你知道自己帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的伺服器就是你想連接的伺服器。可能會有別的伺服器在冒充真正的伺服器,也就是受到「中間人」這種方式的攻擊。第二種級別(基於密匙的安全驗證)需要依靠密匙,也就是你必須為自己創建一對密匙,並把公用密匙放在需要訪問的伺服器上。如果你要連接到SSH伺服器上,客戶端軟體就會向伺服器發出請求,請求用你的密匙進行安全驗證。伺服器收到請求之後,先在你在該伺服器的家目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,伺服器就用公用密匙加密「質詢」(challenge)並把它發送給客戶端軟體。客戶端軟體收到「質詢」之後就可以用你的私人密匙解密再把它發送給伺服器。用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網路上傳送口令。第二種級別不僅加密所有傳送的數據,而且「中間人」這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒。
OpenSSL------一個C語言函數庫,是對SSL協議的實現。
OpenSSH-----是對SSH協議的實現。
ssh 利用 openssl 提供的庫。openssl 中也有個叫做 openssl 的工具,是 openssl 中的庫的命令行介面。
編譯依賴上看:
openssh依賴於openssl,沒有openssl的話openssh就編譯不過去,也運行不了。
HTTPS可以使用TLS或者SSL協議,而openssl是TLS、SSL協議的開源實現,提供開發庫和命令行程序。openssl很優秀,所以很多涉及到數據加密、傳輸加密的地方都會使用openssl的庫來做。
可以理解成所有的HTTPS都使用了openssl。以root身份執行命令:grep -l 'libssl.*deleted' /proc/*/maps | tr -cd 0-9\\n | xargs -r ps u,可以看到哪些進程載入了老版本的openssl庫。

⑷ 在LINUX FTP中怎樣刪除FTP用戶

ftp用戶指的是ftp這個用戶還是使用ftp的用戶x0dx0a如果是ftp這個用戶 userdel ftp 命令刪除 userdel + 用戶 刪除用戶x0dx0a這里有兩個概念x0dx0aftpusers文件:該文件中包含的用戶賬戶將被禁止登陸vsftpd伺服器,不管該用戶是否在user_list文件中出現。通常將root、bin、daemon等特殊用戶列在該文件中,禁止用於登陸FTP服務。x0dx0auser_list文件:該文件中包含的用戶賬戶可能被禁止登陸,也可能被允許登陸,具體在主配置文件vsftpd.conf中決定。當存在「userlist_enble=YES」的配置項時,user_list文件生效,x0dx0a如果配置「userlist_deny=YES」,則僅禁止列表中的用戶賬戶登陸,如果配置「user_deny=NO」,則僅允許列表中的用戶賬戶登陸。x0dx0ax0dx0a了解這兩個概念後,只要將ftp用戶編輯到ftpsusers文件中,該用戶將不能登陸ftp

⑸ 遠程編輯共享本地資源後,不自動保存

一、FTP賬戶管理器
路徑:打開UE->文件->FTP/Telnet->賬號管理器->打開賬號管理器
這對話框允許用戶FTP帳戶被配置。 這個帳戶被用於 FTP 打開, FTP 另存為 和FTP 瀏覽命令。
帳戶指定將被用於連接到的伺服器和將被連接的伺服器的用戶。
添加帳戶 按鈕允許您指定一個新的帳戶名。 帳戶的修改您可以從帳戶列表裡選擇。 如果對帳戶做了任何修改都會被提示,該修改是否應該被保留。

刪除帳戶 按鈕將從帳戶列表裡立刻刪除激活的或被選擇的帳戶。

The 默認帳戶 按鈕設置激活的或被選擇的帳戶作為指定的默認帳戶,是通過跟隨在列表帳戶名後面的星號"*" 指定的。

FTP 帳戶管理器有選項,通過在以下五個不同標簽被組織在一起: 常規, 伺服器, 高級, 代理, 和 SSH/SSL.

常規 標簽包括以下配置選項:
帳戶
這是為配置的帳戶將使用的名字。 當修改被保存,這個名字將出現於在配置選項左邊列表裡。
相當於【FTP連接名】

協議
這下拉框允許用戶選擇用戶指定下面傳輸協議之一:

FTP

創建非安全的FTP 連接。20埠是數據埠(上傳下載),21埠是控制埠

SFTP

創建安全的使用SSH2協議的FTP (SFTP)連接。使用22埠

FTPS - 僅控制

創建在標准FTP協議下用SSL層的安全的FTP (FTPS)連接。這種方法僅將控制隧道加密。

FTPS - 控制 + 數據

創建在標准FTP協議下用SSL層的安全的FTP (FTPS)連接。 這種方法將控制和數據隧道加密。

FTPS - Implicit

創建在標准FTP協議下用SSL層的安全的FTP (FTPS)連接。 這種方法是舊FTPS方法並且一般不推薦, 但是它仍支持一些伺服器。

所有的SFTP/FTPS傳輸被加密並且解密演算法通過和伺服器協商。 假如他們中任何設置傳輸對話框 顯示"lock"字元顯示傳輸是安全的。

Server
這是您希望連接的ftp站點例如ftp://ftp.idmcomp.com. 這也可能登錄 ftp.idmcomp.com. 假如在表單里xxxx.xxxx.xxxx.xxxx首選IP 地址可能被登錄
這里我填寫的是資料庫伺服器的ip地址:10.166.173.21


對於FTP/SFTP協議,UltraEdit/UEStudio使用這個埠。 默認FTP是21埠控制,SFTP是22. 假如必要,這個埠可以被修改。
這我添加的是21控制埠

用戶名
這是登錄到伺服器上使用的用戶名。
oracle

密碼
這是登錄到伺服器上使用的密碼。 這應該是用戶名的密碼,如所提供的站點管理,或者為匿名在網路上聯接主機[伺服器]的操作典型的是用戶的電子郵件。
*****

保存密碼
這個復選框確定UltraEdit/UEStudio是否為以後做參考將保存密碼。 否則,將提示用戶需求輸入密碼。 註: 如果密碼被保存在系統里存儲。 然而它被加密,加密機制是不復雜,並且不應該依靠作為安全方法。
如果打勾了,在連接FTP不如在輸入用戶密碼了,否則要再次輸入密碼

用戶帳戶
當登錄時,這在Host伺服器允許用戶指定帳戶。 這僅要求一些伺服器。
默認不填

連接限制
這個設置限制FTP客戶用伺服器將建立並發連接的數量。 例如,如果用戶通過FTP選擇10個文件打開或保存,但是連接極限設置到4, 選擇的文件傳輸接近4或少於4,直到傳輸所有選擇的文件。
4,最多可以打開的文件數

初始化目錄
這是初始化目錄連接到在FTP伺服器。 沒有需要這。 如果這沒有指定, UltraEdit將記住每次用戶連接到伺服器帳戶的最後目錄。
默認不填

初始化本地目錄
當連接FTP伺服器時,使用初始化本地目錄。 FTP瀏覽選項僅被使用, 這個沒有被要求。 假如沒有被指定, UltraEdit 將默認到用戶的文檔文件夾(也就是在Windows XP的我的文檔和在Windows Vista的文檔)。
在連接FTP時,初始化本機的目錄路徑

Server標簽包括下面配置選項:

Server類型
為多數FTP伺服器默認自動或Unix應該沒有問題工作。 然而這提供與需要特殊句柄的伺服器的連接。 支持的伺服器列表預計增長。 目前支持:

Auto
AIX
VAX/VMS
UNIX
AIX
Stratus VOS - "全路徑主字元" 應該設置成 "%" 並且"路徑/節點分隔字元" 應該設置成 ">".
File Name Only - 這發生第一個欄位返回並且並且顯示它作為文件名。
BS2000
MVS
OS9000
AS400
HP3000/VeSoft Security
Tandem Guardian
我選的是UNIX和Auto
會話名
對於當前的帳戶,這個欄位過去習慣於定義為會話名 。 這僅使用於HP3000 帳戶。
默認不填
登錄後發送
在這個欄位輸入的任何值在連接到伺服器後將立即傳給FTP伺服器。

LIST命令過濾器
當發出LIST命令時,LIST命令過濾器確定從伺服器檢索什麼。 在多數FTP伺服器上,如果您通過" - al" 您將收到一個完整的列表包括隱含文件。 您能也通過通配符。 例如" *.txt" 將列出所有txt文件。 注意有些伺服器(VMS, MVS,等等)不句柄象Unix或Linux伺服器的過濾器arguments。

全路徑主字元
這允許用戶忽略在伺服器上一個文件的全路徑上的主字元(通常「/")。

路徑/節點分隔符號
這允許用戶忽略在伺服器上的目錄或節點之使用字元(通常「/")。

名字索引
這個欄位被用於指定存放文件的名字的列數。 這個值的默認是"-1" 並且不應該改變,除非您確信應該使用這個值。

大小索引
這個欄位被用於指定存放文件的名字的列數。 這個值的默認是"-1" 並且不應該改變,除非您確信應該使用這個值。

使用MDTM和大小
如果修改過的時間和大小的文件沒有正確返回,這個被選擇的選項強制這些值在目錄列表裡返回的每個文件正確地要求。 選擇此項可能將減速FTP過程。

被動傳輸
因為FTP是port-hopping協議(也就是:當通訊時數據隧道使用任意埠), 許多防火牆能夠理解FTP協議並且允許二次數據連接。然而假如控制連接使用任何方法被加密,防火牆不能能夠從控制連接的數據連接得到埠號(由於被加密並且防火牆不能解密。因此許多防火牆網路清除FTP連接,SFTP/FTPS連接或者完全失敗或者要求使用被動模式。

使用伺服器返回的IP地址
這個值當被動傳輸選項被選擇時僅使用。 當連接到伺服器時,選擇這個選項強制帳戶使用防火牆指定的IP地址。 請注意: 如果您不控制伺服器您連接對或不能確信的它的內容,有選擇這個選項相關的安全風險。

高級標簽包括下面配置選項:

本地復制目錄
當文件被保存時,這允許用戶指定一個本地復制應該自動地保存文件在哪裡。 如果這是空白的本地復制沒有發生。如果這不是空的,當FTP保存發生(沒有另存為)文件的拷貝在被指定的目錄里被保存。 如果另一個文件存在相同的名字它將不用警告被覆蓋。 本地復制優先於FTP保存。
存放本地副本,當遠程文件被保存的同時在本地機器上也備份一份

如果沒保存會話緩存密碼
如果這個被選擇帳戶的密碼一旦在這期間輸入被緩存,UltraEdit將運行並且不需要被再次輸入。 如果密碼不正確地輸入,需要進入帳戶對話框改變和刪除它並且清理緩存。

默認傳輸類型
用戶可以指定 ASCII或者二進制 作為默認傳輸類型。 ASCII 造成文件為不同系統之間的行終止適當地被轉換。 二進制 造成文件按位元組傳輸沒有轉換。 依賴於FTP伺服器/客戶端, ASCII傳輸可能把文件誤當成7-bit傳輸。 因為這個原因,二進制被作為首選傳輸類型。
一般都選二進制
顯示過濾器
當連接到FTP伺服器後,過濾目錄列表返回已存在的兩個選項:
*.* 使用通配符來過濾想要的文件
遠程 - 使用LIST命令
假如這個選項被選擇,使用列表命令,來自FTP伺服器的目錄列表返回過濾將在FTP伺服器上被執行。結果可能被使用標准通配符過濾。例如 "*.txt" 顯示所有txt文件。注意有些伺服器(VMS, MVS, etc)不能處理filter像Unix/Linux伺服器。

本地 - Perl規則表達式
假如這個選項被選擇,來自FTP伺服器的目錄列表返回過濾將在本地系統上被執行。並且是從FTP伺服器返回僅解析的數據,在FTP日誌有記錄。這個選項將使用Perl正則表達式確定應該返回過濾表達式應該怎樣解析,並且應該返回什麼數據。

The Proxy 標簽包括以下配置選項:

使用代理
這個允許Proxy設置和配置這個帳戶通過指定的代理連接。 如果直接連接到互聯網不允許使用代理設置。 如果在區域網通過代理連接,設定代理設置將是必要的。

代理伺服器
這是用來使用作為代理的伺服器的名字(或者 IP 地址)。 假如您不知道這個名字,請與您的系統管理員協商。

代理埠
這是用於FTP/SFTP協議UltraEdit/UEStudio使用的埠。 默認FTP是21埠,SFTP是22埠。 假如需要這個可以被更改。

代理用戶
這是用戶名被用作登錄代理。 假如您不知道這個名字,請與您的系統管理員協商。

代理密碼
這是密碼被用作登錄代理。 假如您不知道這個名字,請與您的系統管理員協商。

代理類型
這個下拉框被用作指定當前FTP帳戶使用的Proxy類型。 T下面Proxy類型被現在支持:

SOCKS4
SOCKS4A
SOCKS5
WEB Proxy
Relay
Windows (Internet Explorer)
FTP User
FTP Site
FTP Open
請注意不是所有的代理對每個協議都有效。

SSH/SSL標簽包括以下配置選項:

認證
這允許用戶指定伺服器使用的認證類型。 下面方法被支持:

僅密碼

這要求提供用戶名/密碼和使用非公共密鑰/私密鑰配對或者SSL證書。

僅公共密鑰/SSL證書

這要求用戶使用公共密鑰/私密鑰配對或者SSL證書。 私鑰/SSL證書的位置必須在私密鑰/SSL證書路徑里指定。

密碼 & 公共密鑰/SSL證書

這允許用戶指定公鑰/私鑰或者SSL證書並且/或者用戶名/密碼。

密鑰要求密碼

假如這個選項被選擇,在常規標簽下的用戶名欄位必須被填上。

如果使用這種方法要求密鑰, 密鑰要求密碼 選項允許用戶表明私鑰是被保護的密碼。 如果這是實際情形,每次會話將提示用戶輸入密碼,或者在改變帳戶設置以後。

認證方法必須通過伺服器支持。 對於SFTP,密鑰應該使用OpenSSH 格式。 對於FTPS, 應該使用在PEM或PFX格式里載入的證書。

允許壓縮
假如這個選項被選擇, 當傳輸到伺服器/從伺服器傳輸,數據被壓縮。 依賴於伺服器配置,這可能提高傳輸速度。

二、FTP 瀏覽 (文件菜單/FTP子菜單)

路徑:打開UE->文件->FTP/Telnet->瀏覽
使用該命令打開 FTP 瀏覽器。FTP 瀏覽器主要由三個面板構成。最左邊的面板顯示本地計算機的目錄樹。中間的面板顯示本地計算機中選定的文件夾的內容。右邊的文件夾顯示遠程系統(FTP 伺服器)上活動文件夾的內容。顯示過濾器窗口:*.* 使用通配符來過濾出想要的文件
可以選擇多個文件,並使用中間和右側窗格之間豎直分隔欄上的按鈕在本地和遠程系統之間移動。 在本地和遠程系統窗格上方有一個地址欄,包含上移一個目錄的按鈕、刷新按鈕和指示活動文件夾路徑的文本區域。

包含以下按鈕:

帳號

出現 FTP 帳號管理器 對話框

連接

連接到選定的 FTP 帳號

斷開連接

斷開活動 FTP 帳號的連接

關閉

關閉 FTP 瀏覽器

更改

提供「更改 FTP 目錄」對話框,允許直接指定要在更改到遠程系統上的路徑

中斷

終止活動傳輸進程

三、FTP 打開文件
路徑:打開UE->文件->FTP/Telnet->從FTP打開
賬戶
遠程系統窗格上方有一個地址欄,包含上移一個目錄的按鈕、刷新按鈕和指示活動文件夾路徑的文本區域,顯示過濾器窗口:*.* 使用通配符來過濾出想要的文件。

在系統窗口裡選擇「文件名」->打開「按鈕」->在本地顯示出文件內容

⑹ 如何藉助vsftpd在Linux上構建安全的FTP服務

FTP(文件傳輸協議)是互聯網上廣泛使用的服務之一,主要用於將文件從一個主機傳輸到另一個主機。FTP本身當初不是作為一種安全協議而設計的;正因為如此,典型的FTP服務很容易遭受諸如中間人攻擊和蠻力攻擊之類的常見攻擊。

許多具有安全功能的應用程序可用來構建安全的FTP服務。比如說,FTPS(安全Secure)使用SSL/TLS證書,對端到端數據進行加密。基於客戶端的需求,FTPS可加以配置,以支持經過加密及/或未經過加密的連接。SFTP(SSH文件傳輸協議)是另一種為傳輸中數據確保安全的方法。SFTP是作為SSH的一種擴展技術而開發的,同樣可以結合其他安全協議使用。
本教程將著重介紹藉助SSL/TLS已被啟用的vsftpd,構建和保護FTP服務。
先稍微介紹一下背景:典型的FTP伺服器偵聽TCP埠20以監視數據、偵聽TCP埠以監視命令(又叫控制埠)。連接的建立和命令參數的交互都通過埠21來完成。FTP連接支持兩種方法:主動模式和被動模式。在主動模式下的連接建立過程中,伺服器建立一條從其埠20(數據)到客戶機的連接。在被動模式下,伺服器為每一個客戶機會話專門指定了隨機性數據埠,並將該埠通知客戶機。隨後,客戶機建立一條通向伺服器隨機性埠的連接。
據RFC 1635顯示,FTP支持通過特殊用戶anonymous進行的公眾訪問,不需要任何密碼,或者通過用戶ftp、使用密碼ftp來進行訪問。除了這類公眾用戶外,vsftpd還支持本地Linux用戶進行的登錄。Linux用戶可以通過使用FTP連接到伺服器,並提供登錄信息,訪問其主目錄,即/home/user。
把vsftpd安裝到Linux上
如果想把vsftpd安裝到Ubuntu、Debian或Linux Mint上,可以使用apt-get命令。系統一啟動,vsftpd服務就會自動啟動。
$ sudo apt-get install vsftpd

如果想把vsftpd安裝到CentOS、Fedora或RHEL上,我們可以使用yum來輕松完成安裝。服務啟動後,還被添加到系統啟動項。
# yum install vsftpd
# service vsftpd start
# chkconfig vsftpd on

使用vsftpd的一種最基本的FTP服務現已准備好使用。我們只要將瀏覽器指向URL ftp://[ServerName/IP],或者使用FileZilla等FTP客戶軟體、使用用戶名anonymous,無需密碼來連接,或使用用戶名ftp、密碼ftp來連接,就可以訪問FTP服務。
vsftpd安裝完畢後,系統用戶ftp連同主目錄/var/ftp已被添加到系統中。只要建立了匿名FTP連接,會話總是默認使用/var/ftp目錄。所以,我們可以將該目錄用作FTP公眾用戶的主目錄。放在/var/ftp下面的任何文件/目錄都可以通過ftp://[ServerName/IP]加以訪問。
vsftpd配置文件的位置出現在下面兩個地方:
•Ubuntu、Debian或Linux Mint:/etc/vsftpd.conf
•CentOS、Fedora或RHEL:/etc/vsftpd/vsftpd.conf

在本教程的其餘部分,使用你Linux系統上的對應位置的vsftpd.conf文件。
調整FTP用戶
如果想禁用公眾訪問,我們就要在vsftpd.conf中明確禁止用戶anonymous。注釋掉這一行不管用,因為vsftpd使用默認值運行。你還需要重啟vsftpd。
anonymous_enable=NO
# service vsfptd restart

因而就要啟用強制性驗證;只有現有的Linux用戶才能夠使用其登錄信息來進行連接。
若想啟用/禁用本地用戶,我們可以修改vsftpd.conf文件。如果我們禁用本地用戶,就得確保用戶anonymous已被授予訪問許可權。
local_enable=YES/NO
# service vsfptd restart

如果想使用特定用戶連接到系統,我們只要將URL改成ftp://username@[ServerName/IP]。相應用戶的主目錄可使用這種方法,通過FTP來加以訪問。
將用戶限制在各自的主目錄
用戶使用FTP訪問遠程伺服器時,用戶可以瀏覽整個系統,只要文件/目錄是可讀取的。根本不建議這么做,因為任何用戶都能通過FTP會話,讀取和下載/etc、/var、/usr 及其他位置下面的系統文件。
想限制本地用戶在FTP會話期間只能訪問各自的主目錄,我們可以修改下面這個參數。
chroot_local_user=YES
# service vsftpd restart

現在,本地用戶只能夠訪問其主目錄了,無法訪問系統中的其他任何文件或目錄。
啟用SSL/TLS加密
FTP原本是一種明文協議,這意味著誰都可以輕松窺視在客戶機與遠程FTP伺服器之間所傳輸的文件。想對FTP通信內容進行加密,可以啟用vsftpd中的SSL/TLS。
第一步是創建SSL/TLS證書和私鑰,如下所示。它會將所創建的證書/私鑰存放在目標.pem文件中。
在Debian/Ubuntu上:
$ sudo openssl req -x509 -days 365 -newkey rsa:2048 –node
s -keyout /etc/vsftpd.pem -out /etc/vsftpd.pem

在CentOS/Fedora/RHEL上:
$ sudo openssl req -x509 -days 365 -newkey rsa:2048 –node
s -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

然後,將下面這些參數添加到vsftpd.conf配置文件中。
# 啟用TLS/SSL
ssl_enable=YES
# 強迫客戶機在登錄時使用TLS
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
# 指定SSL證書/私鑰(Debian/Ubuntu)
# 如果是CentOS/Fedora/RHEL,將其換成/etc/vsftpd/vsftpd.pem
rsa_cert_file=/etc/vsftpd.pem
rsa_private_key_file=/etc/vsftpd.pem
# 為被動模式下的連接定義埠范圍
pasv_max_port=65535
pasv_min_port=64000

最後重啟vsftpd。
# service vsftpd restart

控制連接和帶寬
vsftpd提供了幾種方法來控制連接和用戶帶寬。我們將使用幾種方法來調整我們的FTP伺服器。
## 為每個匿名會話分配的帶寬設置為大約30 KB/s ##
anon_max_rate=30000
## 每個本地用戶被授予大約30 KB/s的帶寬##
local_max_rate=30000
## 客戶機會話閑置300秒後被終止##
idle_session_timeout=300
## 每個源IP地址的最大連接數量,這有助於防範拒絕服務(DoS)和分布式拒絕服務攻擊(DDoS)#
max_per_ip=50

調整防火牆
最後,如果你在系統(比如CentOS)上運行iptables防火牆,就要確保調整防火牆規則,允許FTP流量通過。下面這些規則應當有助於你開始上手。
# iptables -I INPUT -p tcp --dport 20 -j ACCEPT
# iptables -I INPUT -p tcp --dport 21 -j ACCEPT
# iptables -I INPUT -p tcp --dport 64000:65535 -j ACCEPT

頭兩條規則允許流量通過FTP數據/控制埠。最後一條規則允許被動模式下的連接,其埠范圍已經在vsftpd.conf中予以定義。
啟用日誌功能
萬一你在本教程的FTP服務構建過程中遇到任何問題,可以啟用日誌功能,為此只需修改vsftpd.conf中的下面這個參數:
xferlog_enable=YES
xferlog_std_format=NO
xferlog_file=/var/log/vsftpd.log
log_ftp_protocol=YES
debug_ssl=YES
# service vsftpd restart

藉助FileZilla連接到FTP伺服器
現在有幾款FTP客戶軟體支持SSL/TLS,尤其是FileZilla。想通過FileZilla連接到支持SSL/TLS的網站,就要為FTP主機使用下列設置。

你頭一次連接到支持SSL/TLS的FTP伺服器後,會看到該網站的證書。只管信任證書、登錄上去。

為sftpd排查故障
1. 如果你在連接到FTP伺服器的過程中遇到了下面這個錯誤,這可能是由於你的防火牆阻止FTP流量。為此,確保你在防火牆上打開了必要的FTP埠,如上所述。
ftp: connect: No route to host

2. 如果你連接到在CentOS/RHEL上運行的使用chroot改變根目錄的FTP伺服器時遇到了下面這個錯誤,禁用SELinux是一個辦法。
500 OOPS: cannot change directory:/home/dev
Login failed.

雖然關閉SELinux是一個快速的解決辦法,但在生產環境下這么做可能不安全。所以,改而打開SELinux中的下列布爾表達式可以解決這個問題。
$ sudo setsebool -P ftp_home_dir on

3. 如果你通過FileZilla訪問支持SSL/TLS的FTP伺服器時遇到了下列錯誤,就要確保在vsftpd.conf中添加「ssl_ciphers=HIGH」。FileZilla並不支持默認密碼(DES-CBC3-SHA)。
Trace: GnuTLS alert 40: Handshake failed
Error: GnuTLS error -12: A TLS fatal alert has been received.
"SSL_accept failed: error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher"

⑺ 基於linux的小型遠程FTP服務系統的設計

太多了 沒時間看 得工作 時間不允許 哥們還是自己寫吧

⑻ SFTP 和FTPS的區別

將SSL/TLS應用於FTP以創建FTPS,為企業之間發送和接收文件生成安全協議。

FTPS包含兩個關鍵的安全元素:消息加密以保護傳輸中的消息,以及客戶端/伺服器認證,它驗證事務中涉及的發送方和接收方的身份。

  • 安全加密:會話密鑰保護傳輸中的數據; 消息使用特定會話的密鑰(TLS握手)進行加密。 一旦建立,客戶端和伺服器之間交換的所有消息都將被加密。

  • 身份驗證:通過驗證伺服器證書的可信度,客戶端可以運行多項檢查以驗證發件人的伺服器身份,最明顯的是證書是否由受信任的證書頒發機構(CA)頒發。 伺服器使用安全通道上的用戶名和密碼對客戶端進行身份驗證。

  • 發送伺服器的證書可以由已知的證書頒發機構(CA)簽名,或者您的合作夥伴可以對其進行自簽名並為您提供其公鑰證書。

SFTP

與FTPS一樣,SFTP允許您通過用戶名和密碼驗證連接。 但是,SFTP還允許您利用公鑰身份驗證和多因素身份驗證來進一步增強安全性。

加密技術不同,與使用SSL/TLS進行加密的FTPS不同,SFTP使用SSH。

SFTP vs. FTPS

FTPS和SFTP都提供強大的保護和身份驗證。 但與FTPS相比,SFTP提供了一些明顯的優勢。

1. FTPS需要多連接/埠

FTPS使用多個埠號。 命令通道的第一個埠用於身份驗證和傳遞命令。 但是,無論何時發出文件傳輸請求或目錄列表請求,都必須為數據通道打開另一個埠號。 您和您的貿易合作夥伴必須在防火牆中打開多個埠以進行FTPS連接,這可能會帶來安全風險。

相反,SFTP只使用一個連接,這意味著您的伺服器上只需打開一個埠,並且伺服器只允許在指定埠上公開訪問,這樣更安全一些。

2. SFTP安全性一致

SFTP要求所有客戶端和伺服器的通信都是安全的,但FTPS可以在不安全的FTP連接和FTPS安全連接之間來回切換。 因此,SFTP通過標准化所有文件傳輸,使得IT管理員更輕松的在組織內實行安全最佳實踐。

3. SFTP應用更廣泛

SFTP具有比FTPS更廣泛的跨平台支持。 SSH和SFTP在Unix/Linux平台上無處不在,使得SFTP成為大多數數據傳輸項目的更好選擇。

⑼ SFTP 和FTPS的區別

SFTP和FTPS的區別如下:

1、指代上的區別

(1)FTPS:是TCP / IP協議組中的協議之一。

(2)SFTP:安全文件傳輸協議。可以提供一種安全的網路加密方法來傳輸文件。

2、特點上的區別

(1)FTPS:FTPS協議使用兩個埠20和21,其中TCP用於傳輸數據,而21用於傳輸控制信息。

(2)SFTP:SFTP本身沒有單獨的守護程序,必須使用sshd守護程序(默認埠號為22)來完成相應的連接和答復操作,因此從某種意義上講,SFTP並不像伺服器程序,並且更像是一個客戶端程序。

3、使用方式上的區別

(1)FTPS:FTPS伺服器用於存儲文件。用戶可以使用FTPS客戶端通過FTPS協議訪問位於FTPS伺服器上的資源。

(2)SFTP:SSH的一部分,是一種將文件傳輸到Blogger伺服器的安全方法。

⑽ linux連接ftps伺服器有什麼好的工具沒有

putty 超小的一個程序 不需要安裝 SSH SecureCRSecureFXPortable 這三款都是常用的。

熱點內容
vb資料庫程序 發布:2024-05-18 13:01:57 瀏覽:110
新建文件夾2免費手機 發布:2024-05-18 12:56:13 瀏覽:364
自己在家搭建伺服器有水冷散熱嗎 發布:2024-05-18 12:47:27 瀏覽:648
舊版的安卓手機怎麼使用微信 發布:2024-05-18 12:46:36 瀏覽:466
我的世界伺服器開多久 發布:2024-05-18 12:45:32 瀏覽:592
vba獲取網頁表格資料庫資料庫資料庫 發布:2024-05-18 12:23:24 瀏覽:699
騰訊伺服器為什麼卡頓 發布:2024-05-18 12:02:12 瀏覽:305
如何知道密碼鎖有沒有nfc 發布:2024-05-18 11:58:09 瀏覽:961
單片機c語言模塊化編程 發布:2024-05-18 11:53:16 瀏覽:644
win7xp共享列印機拒絕訪問 發布:2024-05-18 11:51:00 瀏覽:847