当前位置: 首页 > news >正文

Linux服务篇之FTP及SFTP

目录

背景

ftp

sftp


 

背景

FTP(File Transfer Protocol,文件传输协议)是用于在网络上进行文件传输的一套标准协议。它工作在OSI模型的第七层以及TCP模型的第四层,即应用层,并使用TCP传输而非UDP。FTP的主要作用是让用户能够连接到一个远程计算机(这些计算机上运行着FTP服务器程序),查看远程计算机上的文件,并将文件从远程计算机拷贝到本地计算机,或者将本地计算机的文件发送到远程计算机。用户并不真正登录到自己想要存取的计算机上成为完全用户,而是使用FTP程序访问远程资源,实现用户往返传输文件、目录管理以及访问电子邮件等功能。

SFTP(SSH File Transfer Protocol,SSH文件传输协议)则是SSH(Secure Shell)协议的一个子协议,设计用于加密和保护文件传输的安全性。SFTP使用加密来保护传输的数据,确保传输的文件内容和认证信息在传输过程中都是加密的,难以被未经授权的人读取或窃听。同时,SFTP使用SSH身份验证机制来验证用户身份,通常用户需要提供用户名和密码,或者使用SSH密钥对进行身份验证。SFTP支持文件和目录的上传、下载、删除、重命名和创建等操作,非常适用于文件管理和传输。此外,SFTP是一个跨平台协议,可以在各种操作系统上使用,包括Linux、Unix、Windows等。

总的来说,FTP和SFTP都是用于文件传输的协议,但SFTP在安全性方面相较于FTP有更高的保障,因为它使用了加密技术来保护数据的安全。然而,由于加密和解密的过程,SFTP的效率可能略低于FTP。在选择使用FTP还是SFTP时,需要根据具体的需求和安全要求来权衡。

ftp

ftp工具需要先安装

yum isntall -y ftp

连接ftp服务命令

ftp ip
#例如: ftp 192.168.41.41

下载文件

格式:get [remote-file] [local-file]将文件从远端主机中传送至本地主机中。如要获取远程服务器上/usr/your/1.htm,则ftp> get /usr/your/1.htm 1.htm

上传文件

put格式:put local-file [remote-file]将本地一个文件传送至远端主机中。如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htmftp> put 1.htm /usr/your/2.htm

连接方式

主动模式(Active Mode)和被动模式(Passive Mode)是FTP(文件传输协议)中两种不同的连接模式,它们在处理数据连接时的方式不同。

  1. 主动模式(Active Mode)
    • 在主动模式下,FTP客户端向FTP服务器的21端口发送连接请求,建立控制连接。
    • 当需要传输数据时,FTP服务器主动发起一个连接到FTP客户端指定的端口(通常是大于1024的端口)。
    • 这种模式在某些网络环境中可能会遇到问题,特别是当FTP客户端位于防火墙或NAT(网络地址转换)设备之后时,因为这些设备可能不允许外部连接进入客户端的端口。
  2. 被动模式(Passive Mode)
    • 在被动模式下,FTP客户端同样向FTP服务器的21端口发送连接请求,建立控制连接。
    • 但是,当需要传输数据时,FTP客户端发起一个连接到FTP服务器指定的端口(这个端口通常是服务器上的一个高位端口)。
    • 被动模式通常更适合于客户端位于防火墙或NAT设备之后的情况,因为所有连接都是由客户端发起的。

设置为主动模式

passive

设置为被动模式

pasv

参考

Linux服务篇之FTP服务及工具_linux ftp工具-CSDN博客

 
Linux的FTP安装、使用和配置(FTP客户端管理工具)_linux ftp客户端-CSDN博客

sftp

连接SFTP服务命令

sftp -P [port] [username]@ip
#示例  sftp -P 666 ftp@123.123.123.123

 sftp登录之后默认操作是远程服务器,当需要操作本地时,就需要在前边加“l”,“l”代表local的意思。这样就可以同时在远程和本地实现对应的操作。

sftp> pwd
Remote working directory: /home/hrp/uploads
sftp> lpwd
Local working directory: /drives/c/Users/91421/Downloads/1130

put:从本地推送文件到远程;

sftp> put six-1.5.0.tar.gz
Uploading six-1.5.0.tar.gz to /home/hrp/uploads/six-1.5.0.tar.gz


get:从远程拉取文件到本地;

sftp> get six-1.5.0.tar.gz
Fetching /home/hrp/uploads/six-1.5.0.tar.gz to six-1.5.0.tar.gz

相关文章:

  • 数字电子技术基础入门(三)
  • [xboard]real6410-3 S3C6410光盘资料与功能测试
  • Pandas学习笔记——第二弹
  • C++修炼之路之string--标准库中的string
  • neo4j图数据库下载安装配置
  • 【C++造神计划】printf 与 cout
  • Mysql底层原理四:B+树索引
  • Python对docx文本一些操作
  • C++ 11 新特性:内存对齐 alignof 和 alignas
  • 蓝桥杯-求阶乘
  • windows 之 redis非安装版,启动与初始化密码
  • 前端如何监听屏幕宽度的变化?
  • 通过 Cookie、Redis共享Session 和 Spring 拦截器技术,实现对用户登录状态的持有和清理(三)
  • 蓝桥杯算法题:练功
  • MySQL学习笔记2——基础操作
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【前端学习】-粗谈选择器
  • 【译】理解JavaScript:new 关键字
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • export和import的用法总结
  • HashMap ConcurrentHashMap
  • Mocha测试初探
  • MQ框架的比较
  • Python_OOP
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • TCP拥塞控制
  • Vue 重置组件到初始状态
  • 阿里云应用高可用服务公测发布
  • 彻底搞懂浏览器Event-loop
  • 第2章 网络文档
  • 给初学者:JavaScript 中数组操作注意点
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 每天10道Java面试题,跟我走,offer有!
  • 前端技术周刊 2019-02-11 Serverless
  • 前端自动化解决方案
  • 入门到放弃node系列之Hello Word篇
  • 深入 Nginx 之配置篇
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 优化 Vue 项目编译文件大小
  • 如何正确理解,内页权重高于首页?
  • #laravel 通过手动安装依赖PHPExcel#
  • #pragam once 和 #ifndef 预编译头
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (C语言)逆序输出字符串
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (转) RFS+AutoItLibrary测试web对话框