linuxftps
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 这三款都是常用的。