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(文件传输协议)中两种不同的连接模式,它们在处理数据连接时的方式不同。
- 主动模式(Active Mode):
- 在主动模式下,FTP客户端向FTP服务器的21端口发送连接请求,建立控制连接。
- 当需要传输数据时,FTP服务器主动发起一个连接到FTP客户端指定的端口(通常是大于1024的端口)。
- 这种模式在某些网络环境中可能会遇到问题,特别是当FTP客户端位于防火墙或NAT(网络地址转换)设备之后时,因为这些设备可能不允许外部连接进入客户端的端口。
- 被动模式(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