linux中FTP与sftp的区别是什么

发布时间 - 2022-02-24 00:00:00    点击率:
区别:1、链接方式不同,FTP使用TCP端口21上的“控制连接”建立连接,而SFTP通过SSH协议(TCP端口22)建立连接;2、SFTP使用加密解密技术来传输数据,安全性比FTP高;3、SFTP的传输效率比FTP要低。

本教程操作环境:linux5.9.8系统、Dell G3电脑。

在linux实际项目开发中最常使用的文件传输的方式有ftp和sftp两种,但是这两个传输方式各有什么特点呢?本文接下来将讨论SFTP、FTP的区别。

一、FTP协议

FTP是TCP/IP协议组中的协议之一,TP协议由两个部分组成:

  • FTP服务器(用来存储文件)

  • FTP客户端(用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源)

默认情况下FTP协议使用TCP端口中的20和21这两个端口。21端口用于传输控制信息,而是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用被动模式则具体使用哪个端口要服务器端和客户端协商决定。FTP传输模式分为以下两种:

  • 主动模式(Port)

  • 被动模式(Passive)

1、主动模式

FTP客户端首先和FTP服务器的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。

2、被动模式

在建立控制通道与主动模式相似,但建立连接后是Pasv命令。FTP服务器收到Pasv命令后便随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,通过三次握手建立通道,然后FTP服务器将通过这个端口进行数据的传送。

注意:很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

SFTP协议

SFTP是SSH File Transfer Protocol的缩写,安全文件传送协议。SFTP与FTP有着几乎一样的语法和功能。SFTP为SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。

SFTP和FTP的主要区别

链接方式:FTP使用TCP端口21上的控制连接建立连接。而,SFTP是在客户端和服务器之间通过SSH协议(TCP端口22)建立的安全连接来传输文件。

安全性:SFTP使用加密传输认证信息和传输的数据,所以使用SFTP相对于FTP是非常安全。

效率:SFTP这种传输方式使用了加密解密技术,所以传输效率比普通的FTP要低得多。

相关推荐:《Linux视频教程》


# linux  # ssh  # 客户端  # 在这个  # 两种  # 这两个  # 伺服器  # 内网  # 要低  # 自己的  # 都是  # 端口号 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 网站制作大概多少钱一个,做一个平台网站大概多少钱?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  如何在VPS电脑上快速搭建网站?  中国移动官方网站首页入口 中国移动官网网页登录  如何在自有机房高效搭建专业网站?  图册素材网站设计制作软件,图册的导出方式有几种?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  JavaScript如何操作视频_媒体API怎么控制播放  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  如何快速搭建FTP站点实现文件共享?  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  Laravel如何使用withoutEvents方法临时禁用模型事件  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  ,网页ppt怎么弄成自己的ppt?  MySQL查询结果复制到新表的方法(更新、插入)  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  JavaScript常见的五种数组去重的方式  b2c电商网站制作流程,b2c水平综合的电商平台?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Laravel如何实现多对多模型关联?(Eloquent教程)  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何安全更换建站之星模板并保留数据?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  javascript基本数据类型及类型检测常用方法小结  网站制作价目表怎么做,珍爱网婚介费用多少?  详解阿里云nginx服务器多站点的配置  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  jquery插件bootstrapValidator表单验证详解  Laravel如何使用Vite进行前端资源打包?(配置示例)  nodejs redis 发布订阅机制封装实现方法及实例代码  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何打造高效商业网站?建站目的决定转化率  北京的网站制作公司有哪些,哪个视频网站最好?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  动图在线制作网站有哪些,滑动动图图集怎么做?  如何在云指建站中生成FTP站点?  如何为不同团队 ID 动态生成多个非值班状态按钮  网页制作模板网站推荐,网页设计海报之类的素材哪里好?