ftp、sftp、vsftpd、sshd

FTP

FTP,文件传输协议(File Transport Protocol),工作在OSI网络模型的第七层---应用层,使用TCP传输。
FTP是基于客户--服务器(CS)模型设计的,ftp客户端发起会话,与ftp服务器建立连接。FTP会话期间要建立建立两个连接:控制连接和数据连接。控制连接一般使用21端口,主要于户传送命令和响应等控制信息,在整个交互过程中始终处于连接状态;数据连接一般使用服务器的20端口,只在每一次文件传送时打开,数据传送完成后则会关闭。当控制连接撤销时,FTP会话结束。

FTP支持的模式:Standard(PORT方式、主动模式)、Passive(PASV、被动模式)。

1、主动模式:
FTP客户端首先与服务器的TCP21端口建立控制连接,用来发送控令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器通过自己的TCP20端口连接至客户端的指定端口发送数据。
2、被动模式:
被动模式下控制连接与主动模式是一致的,不同的是控制连接建立后会发送PASV命令,服务器收到PASV命令后,打开一个临时端口并且通知客户端,客户端连接至ftp的此端口,然后ftp服务器通过这个端口传送数据。
总结:主动与被动是针对FTP服务器而言的,主动模式下,FTP服务器使用20端口主动连接客户端的指定端口。被动模式下,FTP服务器告知客户端自己要使用的端口,然后等待客户端的连接。

匿名FTP
  一般情况下如果想与一台ftp服务器进行文件传输,需要有该服务器的授权,即使用该服务器的注册用户进行登录后,才能传输文件。而这种情况违背了互联网的开放性,互联网上的FTP服务器成千上万,不可能要求每个用户在每台FTP服务器上都拥有帐号。
  匿名FTP是这样一种机制,用户可通过它连接到远程FTP服务器上,进行文件的上传或下载,而不需要成为其注册用户。系统管理员建立一个特殊的用户帐号(匿名帐号),一般名为anonymous或ftp,互联网上的任何人在任何地方都可使用该用户的帐号。
  通过FTP程序连接匿名FTP服务器的方式同连接普通FTP服务器的方式类似,只是在要求提供用户帐号时必须输人anonymous或ftp,而该用户帐号的口令可以是任意的字符。
当远程服务器提供匿名FTP服务时,会预先指定某些目录及文件向公众开放,允许匿名用户的存取,而系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP服务器都只允许用户下载文件,而不允许用户上传文件。

SFTP

SFTP(Secure File Transfer Protocol)安全文件传输协议, SFTP在linux系统中,传输默认的端口为22端口,这种传输方式更为安全,传输双方既要进行密码安全验证,还要进行基于密钥的安全验证,有效的防止了“中间人”的威胁和攻击。

VSFTP

VSFTP(Very Secure FTP)是在类Unix系统上使用的FTP服务软件,其对应的守护进程是vsftpd(vsftp daemon)。

猜你喜欢

转载自www.cnblogs.com/21summer/p/11507141.html