但行好事
莫论前程❤

FTP和SFTP的区别

文件传送协议FTP(File Transfer Protocol)是TCP/IP协议簇中的一个成员,也是现在因特网上最广泛的文件传送协议。FTP协议包括两个部分,一个是FTP客户端,另一个是FTP服务器。当然,FTP服务器是用来存储文件资源的,FTP客户端通过访问FTP服务器来获得资源的。

​ 一般情况下,当使用FTP服务的时候,我们都知道默认是21号端口,其实还有一个20号端口。FTP使用两个TCP连接,21号端口负责控制连接,20号端口负责数据连接,这样才不会混乱,是FTP可以更好的为我们服务。FTP协议的工作方式可以分为主动方式和被动方式两种,主动是指FTP客户端发送PORT命令连接FTP服务器,被动是FTP客户端发送PASV命令连接FTP服务器。

​ 主动方式:在通过21号端口连接好控制通道后,客户端发送给服务器PORT命令,就是给服务器说咱们俩通信你可以在那个端口进行,于是服务器打开20号端口,连接上客户端的指定的端口进行连接,传送数据。需要创建一个新的连接。

​ 被动方式:在通过21号端口连接好控制通道后,客户端发送给服务器PASV命令,就是给服务器说咱们俩通信的端口号你选择,然后服务器随机选择一个端口(大于1024),FTP客户端连接至此端口,进行通信。不需要创建一个新的连接。

安全文件传送协议SFTP(Secure File Transfer Protocol)可以为文件传送提供安全的加密/解密技术。基本语法和FTP差不多。SFTP是SSH的一部分,在SSH软件包中,已经包含了一个SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作。由于这种传输方式使用了加密/解密技术,文件传送相对来说是很安全的,但是是有代价的,它的传输效率比FTP要低得多

FTP简单命令

连接服务器

linux > ftp 10.10.10.1
linux > 用户名
linux > 密码
ftp > ls 查看当前路径文件夹
ftp > pwd 查看当前路径
ftp > cd 切换路径

SFTP简单命令

连接服务器

linux > sftp -o 26022 w00225@10.1.32.18
sftp > ls
sftp > cd /data/
sftp > ls
sftp > mkdir update20190725
sftp > pwd 查看ftp目标服务器的当前路径
sftp > lpwd 查看本机当前真实路径

下载文件(ftp和sftp通用)

下载文件通常用get和mget这两条命令。
1. get 和 mget (批量下载)

    格式:get [remote-file] [local-file]      # 将文件从远端主机中传送至本地主机中.
# 如要获取服务器上E:/rose/1.bmp,则
 ftp> get /rose/1.bmp   1.bmp (回车)    # 可重命名

    格式:mget [remote-files]      # 从远端主机接收一批文件至本地主机.
# 如要获取服务器上E:/rose/下的所有文件,则
 ftp>  mget     *.log (回车)    # 通配符 *
注意:当不指定路径时,文件都下载到了linux主机的当前目录下。比如,在 /root/yint下运行的ftp命令,则文件都下载到了/root/yint下。
  1. 上传文件 put 和 mput(批量上传)
    格式:put local-file [remote-file]
#  如要把本地的1.bmp传送到远端主机E:/rose,并改名为333.bmp
 ftp>  put 1.bmp  /rose/333.bmp (回车)
    格式:mput local-files         # 将本地主机中一批文件传送至远端主机.
# 如要把本地当前目录下所有bmp文件上传到服务器E:/rose 下
 ftp > mput  *.bmp (回车)
注意:上传文件都来自于主机的当前目录下。比如,在 /root/yint下运行的ftp命令,则只有在/root/yint下的文件linux才会上传到服务器E:/rose 下。
  1. 断开连接
# bye:中断与服务器的连接。
ftp> bye (回车)
赞(1) 打赏
未经允许不得转载:刘鹏博客 » FTP和SFTP的区别
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏