• ftp、sftp、vsftp、ssh、vsftpd、sshd


    0、概要总结:

    FTP :文件传输协议,对应FTP服务
    SFTP:安全文件传输协议, 对应SFTP服务
    SSH: 一组协议
    VSFTP:一个提供SFTP服务功能的软件
    VSFTPD:VSFTP软件的守护进程
    SSHD:SSH服务的守护进程
    常见的提供FTP服务的软件:proftp、tftp
    常见的提供SFTP服务的软件:vsftp、openssh等

    一、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端口,这种传输方式更为安全,传输双方既要进行密码安全验证,还要进行基于密钥的安全验证,有效的防止了“中间人”的威胁和攻击。

    三、SSH

    SSH(Secure Shell)是一组协议,在进行数据传输之前,SSH先对联机数据包通过加密技术处理,加密后在进行数据传输,确保了传递的数据安全。在默认状态下,SSH服务主要提供两个服务功能:一个是提供类似telnet远程联机服务器的服务;另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务。所以SSH服务本身就可以提供SFTP服务。

    四、VSFTP

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

    五、vsftpd

    vsftpd是VSFTP服务的守护进程。

    六、sshd

    sshd是SSH服务的守护进程。
    总结:因为ss提供类似ftp的服务,所以不必再安装vsftp软件。

  • 相关阅读:
    02月23日总结
    02月24日总结
    02月27日总结
    02月28日总结
    网络编程:UDP网路编程
    网络编程:本地套接字
    网络编程:TIME_WAITE
    网络编程:TCP 网络编程
    RPC实战与核心原理之如何在没有接口的情况下进行RPC调用
    大三寒假学习 spark学习 spark安装
  • 原文地址:https://www.cnblogs.com/21summer/p/11507141.html
Copyright © 2020-2023  润新知