科普|不同协议下远程服务器文件上传_下载优劣对比

简介: 作为一个程序员,如果不知道如何进行远程服务器的文件上传与下载,实在是一件尴尬的事情,今天我们聊聊如何实现远程服务器的文件上传与下载。

头图.png

作为一个程序员,如果不知道如何进行远程服务器的文件上传与下载,实在是一件尴尬的事情。打开百度,搜索「远程服务器 上传下载」,你能得到 63,100,000 个搜搜结果,五花八门的操作方式的让人眼花缭乱。

那么,今天我们聊聊如何实现远程服务器的文件上传与下载。通常而言,我们会选择 ftp、scp 以及 sftp 进行文件传输。但 ftp 基于 TCP 来传输文件,明文传输用户信息和数据,存在一定的安全风险。所以我们更倾向于选择基于 SSH 来加密传输的 scp 和 sftp,但结合速度、安全性和功能的要求,这两种协议各有优劣。接下来,我们做个简单比较,也许会让你的日常选择更加高效。

什么是 scp?

scp 是一种基于 SSH 的协议,主要用在网络上的主机之间提供文件传输。使用 scp,我们可以在主机之间快速传输文件以及基本文件属性,例如访问权限和通过 FTP 无法可用的时间戳。scp 协议使用 RCP 传输文件和 SSH 以提供身份验证和加密。

如何通过 scp 进行文件上传与下载?

先介绍我们最常见的,在 linux 中可以使用 scp 进行文件上传和下载。

  • 文件上传:scp localfile user@host:/dirpath

即 SCP 文件路径远程主机用户名@ip:/存放文件的路径,比如 scp hello.txt user@ip:/home/user/dirpath

  • 从本地上传目录到远程主机 : scp -r localdir user@host:/dirpath

即 scp -r 本地目录路径远程主机用户名@ip:/存放文件路径

  • 从远程主机下载东西到本地电脑拷贝文件命令 scp user@host:/path/file /localpath

即 scp用户名@IP:/文件路径 /本地文件路径

  • 如果拷目录就 scp -r user@host:/dirpath /localpath

即 scp -r 用户名@IP:/目录路径 /本地文件路径

什么是 sftp?

sftp 同样是基于 SSH 的文件传输协议,但功能更强大。相较于 scp,更像是远程文件管理协议,sftp 允许对远程文件(查看目录,删除文件和目录等)进行一系列操作。

如何通过 sftp 进行文件上传与下载

而 sftp 下,我们可以通过 linux 命令行,使用 SFTP 命令进行直接操作:

  • sftp 用户名@ip;
  • 回车提示输入密码,进入提示符 sftp>;
  • 在 sftp 中 get 表示下载,put 表示上传;
  • sftp> get 远程主机下文件的路径、将文件保存到本地电脑的路径;
  • sftp> put 本地文件的路径、将文件版保存到远程主机的路径;
  • pwd 命令可以帮您查询远程主机的当前路径。查询本机当前工作目录 lpwd.,改变路径可以用 cd ,改变本机路径可以用 lcd;ls rm rmdir mkdir 这些命令都可以使用。同理调用本机都是加 l , 即 lls lrm。

到底什么时候应该使用 scp 或 sftp?

  • 速度:在传输文件时,scp 通常比 sftp 快得多,尤其是在网络延迟很高的情况下。这是因为 scp 实现了更高效的传输算法,不需要等待数据包确认, 那么,我们就选择 scp;
  • 安全性:由于两种协议都都基于 SSH,因此它们都提供相同的安全功能,包括密码和数据加密以及公钥验证,那么,scp 或 sftp 皆可;
  • 功能/可用性:如果我们需要使用包括查看/搜索目录,创建文件夹和组织文件,删除或重命名文件等功能,那么,sftp 是最好的选择;
  • 传输文件大小:scp 和 sftp 都没有文件大小限制。但根据传输文件大小,scp 可能略有优势。

我们要做什么?

但不管是 scp 还是 sftp,我们都需要输入相关指令行。一顿操作猛如虎,其实只为了完成简单的文件上传与下载。当然,除去常见的 CLI 指令行的形式,我们可以通过现在比较受欢迎的终端模拟器软件 xshell 和 securecrt 实现相关功能。xshell 和 securecrt 作为常用的串口终端工具,通过可视化形式可以满足相关需求并具备着丰富的延展功能。但经过用户调研,我们发现开发者其实有时只是希望实现上传以及下载功能。与此同时,功能能够与开发环境集成,这样子在 IDE 里面就可以写代码和文件上下传都可以无缝进行了。

那么,现在有了更简单的远程服务器文件上传与下载方式。借助 IDE 内的远程服务器文件浏览器,我们可以更加便捷的形式实现上传、下载文件。而这一切,我们仅需要 Cloud Toolkit 即可,只需三步即可,就像把大象关进冰箱一样简单。

  • 在 IntelliJ IDEA 菜单栏选择 Tools > Alibaba Cloud > Alibaba Cloud View > Host
  • 在 Host 列表右侧 Action 选择 More > Remote Files
  • 可根据需求选择刷新、上传和下载远程服务器上的文件

1.png

此外,还可以借助 Cloud Toolkit 将本地应用快速部署到阿里云 ECS、EDAS、容器服务 Kubernetes 版和任意服务器中去,还可以使用 Arthas 诊断、文件或文件夹上传、内置 Terminal 等诸多功能。

如何安装 Cloud Toolkit

Cloud Toolkit 提供 IntelliJ IDEA、Eclipse、VS Code、PyCharm 多个版本供开发者使用。这里,我们以 IntelliJ IDEA 举例。我们可以直接在 JetBrains 插件市场搜索 Alibaba Cloud Toolkit 并下载安装。

  1. 在 IntelliJ IDEA 顶部菜单栏中选择 File > Settings
  2. 在 Settings 对话框的左侧导航栏中单击 Plugins
  3. 在 Plugins 区域单击 Marketplace
  4. 在搜索栏中输入 Alibaba Cloud Toolkit
  5. Search Results 区域会出现 Alibaba Cloud Toolkit,单击 Install

2.png

  1. 等待下载、安装完成后,单击 Restart IDE
  2. IntelliJ IDEA 重启后,在菜单栏中选择 File > Settings,在 Settings 对话框左侧的导航栏中可以看到 Alibaba Cloud Toolkit,则说明安装成功

是不是很简单,那就快来下载 Cloud Toolkit!

关于 Cloud Toolkit

Alibaba Cloud Toolkit(后文简称 Cloud Toolkit)可以帮助开发者更高效地部署、测试、开发和诊断应用。Cloud Toolkit 与主流 IDE 及阿里云其他产品无缝集成,帮助您大大简化应用部署到服务器,尤其是阿里云服务器中的操作。您还可以通过其内嵌的Arthas程序诊断、Terminal Shell 终端和 MySQL 执行器等工具,简化应用开发、测试和诊断的过程。目前有超过 10w 开发者选择使用 Cloud Toolkit 提升日常研发效率。

 

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Module build failed: Error: Cannot find module ‘gifsicle‘

问题描述: build Cannot find module ‘gifsicle’ 解决方案: 第一步:卸载image-webpack-loader 第1种方式:删除项目中的image-webpack-loader npm uninstall image-webpack-loader第2种方式:删除node_modules中的im…

高德AR驾车导航解决方案

简介: 高德从2018年首创了车载AR导航后,已经先后在后视镜、智能车盒、前装整车厂、后装车机产品、行车记录仪等众多场景落地应用,搭建了非常完整的AR导航生态。 日前,高德地图最新发布了v10.60新版本,上线了手机端的A…

第 11 个“世界备份日”刚过,《Veeam 2021 数据保护报告》为你解读全球数据备份现状

2011 年 3 月 31 日,美国网络社区 Reddit 发起“世界备份日(World Backup Day)”倡议活动,号召人们做好数据安全备份。于是每年愚人节前一天成为“世界备份日”,口号很有趣 Don’t Be An April Fool,Backup Your Data&…

知乎李大海对话阿里云贾扬清:透视AI应用难题与未来趋势

自AlphaGo接连战胜李世石与柯洁后,越来越多从业者将AI看做科技行业的未来。大大小小的AI公司兴起,国内外巨头公司纷纷加速向AI转型。但经历祛魅后的AI,在过去几年间却并未获得观察者们预想的火箭式爆发。 “AI行业接下来可能有哪些发展&…

当 Kubernetes 遇到机密计算,阿里巴巴如何保护容器内数据的安全?

简介: 8 月 26 日,我们发起了第 6 期 SIG Cloud-Provider-Alibaba 网研会直播。本次直播主要介绍了机密计算的概况, InclavareContainers 开源项目架构、已支持的功能和迭代计划,以及阿里云 ACK-TEE 的发展现状和规划。本文汇集了…

人脸核身基础版 SDK 接入 > 合作方后台上送身份信息

文章目录一、概述二、实现流程2.1. 获取获取 access_token2.2. 获取 SIGN ticket2.3. 生成签名2.4. 上送身份信息2.5. 获取 NONCE ticket三、实战3.1. 获取获取 access_token3.2. 获取 SIGN ticket3.3. 生成签名3.4. 上送身份信息3.5. 获取 NONCE ticket四、开源地址一、概述 …

5G、射频、奥特曼,这仨有联系吗?

作者 | 小枣君来源 | 鲜枣课堂头图 | 下载于ICphoto手机,作为移动互联网时代的标配,已经走进了我们每个人的生活。有了它,我们可以随心所欲地聊天、购物、追剧,享受美好的人生。正因为手机如此重要,所以人们对相关技术…

一种简单快捷的 java 热部署方式

简介: 本文热部署插件(Arthas Hot Swap)是基于 Arthas redefine 命令实现的,使用该插件进行远程热部署无需任何配置,无需使用 debug 端口,只需几个简单动作就能完成。 作者 | 周忠太 阿里巴巴淘系技术部的一个搬砖工 【Arthas 官…

赠书 | IoT 的真正目标是什么

以往在构建物联网局域网系统时,为了方便考虑,在云端进行数据处理和分析已经成了常识。但是这种做法已经无法应对现在的情况。在物联网中边缘计算的必要性想要获取数据就要增加连接的设备数量,提高从传感器采集数据的记录(获取&…

AI 腾讯云人脸核身之独立H5接入

文章目录一、概述二、合作方后台上送身份信息~实现流程2.1. 前端入参2.2. 后端固定参数2.3. 获取 Access Token2.4. 获取 SIGN ticket2.5. 生成签名2.6. 合作方后台上送身份信息三、启动H5人脸核身3.1. 获取h5faceId3.2. 获取nonce3.3. 获取nonceTicket3.4. 计算启动签名3.5. 构…

最佳实践:使用阿里云CDN加速OSS访问

简介: 用户直接访问OSS资源,访问速度会受到OSS的下行带宽以及Bucket地域的限制。如果通过CDN来访问OSS资源,带宽上限更高,并且可以将OSS的资源缓存至就近的CDN节点,通过CDN节点进行分发,访问速度更快&#…

IDEA 2022 CPU占用100%的问题及解决方法

禁用下面这三个插件然后重启IDEA即可: Package Checker Package Search Ktor 下面的内容可以不用看了,只要禁用这仨插件就行

无服务计算应用场景探讨及 FaaS 应用实战

简介: 无服务计算本身是一个概念或者理论模型,落地到具体技术上主要有函数即服务(FaaS)以及后端即服务(BaaS)两种形式,阿里云提供函数即服务 FaaS 产品。 作者 | 宋文龙(闻可&#x…

想学 Python?那这套教程再适合你不过了!!

如果你想问最近这些年什么编程语言最值得学习,我相信很多人都会告诉你是Python!所以不仅是开发小白,甚至很多开发老手,也都开始学习Python,作为辅助第二语言来提高自己的职场竞争力。不过结合我最近这些年Python的学习…

2020-09-01

简介: 《5天入门视觉AI》电子书来了!身份证识别、电子相册两大实践场景带你快速入门视觉AI应用开发! 阿里云“在家实践”全新出击! 《5天入门视觉AI》电子书正式上线! 视觉AI训练营必备教材! 身份证识别、电…

再见 Nacos,我要玩 Service Mesh 了!

作者 | 姜桥出品 | CSDN云计算&#xff08;ID:CSDNcloud&#xff09;前面的文章<<干货|如何步入Service Mesh微服务架构时代>>实战演练了Service Mesh微服务架构的具体玩法&#xff0c;该案例中通过IstioKubernetes的组合&#xff0c;一组以Spring Boot框架开发的服…

顶会论文看不懂?阿里巴巴技术专家为你全方位解读!

简介&#xff1a; 由阿里云开发者社区联合新零售智能引擎事业群共同打造的《KDD 论文精华解读》电子书重磅发布&#xff01;覆盖推荐系统、图神经网络预训练、买家秀视频标题生成、在线电视剧的受众竞争力预测和分析等 10 内容&#xff0c;免费下载电子书感受科技的震撼&#x…

Python C扩展的引用计数问题探讨

简介&#xff1a; # Python GC机制 对于Python这种高级语言来说&#xff0c;开发者不需要自己管理和维护内存。Python采用了引用计数机制为主&#xff0c;标记-清除和分代收集两种机制为辅的垃圾回收机制。 首先&#xff0c;需要搞清楚变量和对象的关系&#xff1a; * 变量&…

云原生时代 RocketMQ 运维管控的利器 - RocketMQ Operator

作者 | 刘睿、杜恒 导读&#xff1a;RocketMQ Operator 现已加入 OperatorHub&#xff0c;正式进入 Operator 社区。本文将从实践出发&#xff0c;结合案例来说明&#xff0c;如何通过 RocketMQ Operator 在 Kubernetes 上快速搭建一个 RocketMQ 集群&#xff0c;并提供一些 Ro…

Spring Security BadCredentialsException: Bad credentials问题解决

问题描述&#xff1a; org.springframework.security.authentication.BadCredentialsException: Bad credentials 问题分析&#xff1a; 1、数据库里面的密码没有加密&#xff0c;导致输入正确密码也匹配不上。 解决办法&#xff1a;使用PasswordEncoder先将当前密码加密&…