实现远程服务器的文件上传与下载。通常而言,我们会选择 ftp、scp 以及 sftp 进行文件传输。但 ftp 基于 TCP 来传输文件,明文传输用户信息和数据,存在一定的安全风险。所以我们更倾向于选择基于 SSH 来加密传输的 scp 和 sftp,但结合速度、安全性和功能的要求,这两种协议各有优劣。接下来,我们做个简单比较,也许会让你的日常选择更加高效。
scp 是一种基于 SSH 的协议,主要用在网络上的主机之间提供文件传输。使用 scp,我们可以在主机之间快速传输文件以及基本文件属性,例如访问权限和通过 FTP 无法可用的时间戳。scp 协议使用 RCP 传输文件和 SSH 以提供身份验证和加密。
先介绍我们最常见的,在 linux 中可以使用 scp 进行文件上传和下载。
即 SCP 文件路径远程主机用户名@ip:/存放文件的路径,比如 scp hello.txt user@ip:/home/user/dirpath
即 scp -r 本地目录路径远程主机用户名@ip:/存放文件路径
即 scp用户名@IP:/文件路径 /本地文件路径
即 scp -r 用户名@IP:/目录路径 /本地文件路径
sftp 同样是基于 SSH 的文件传输协议,但功能更强大。相较于 scp,更像是远程文件管理协议,sftp 允许对远程文件(查看目录,删除文件和目录等)进行一系列操作。
而 sftp 下,我们可以通过 linux 命令行,使用 SFTP 命令进行直接操作:
本文系作者在时代Java发表,未经许可,不得转载。
如有侵权,请联系nowjava@qq.com删除。