SCP文件传输

使用SCP进行文件传输的技巧 在数字化时代,文件传输已成为我们日常生活和工作中不可或缺的一部分。而SCP(Secure Copy Protocol)作为一种安全的文件传输协议,以其高效性和安全性受到了广大用户的青睐。那么,如何使用SCP进行文件传输呢?下面将为您揭秘其中的技巧。 阅读详情


SCP文件传输


前言:Unity3D笔记是我平时做一些好玩的测试和研究,记录的笔记。会比较详细也可能随口一提就过了。 所以大家见谅了,内容一般都会是原创的(非原创我会注明转载)。由于很多内容其他的朋友也肯定研究发表过,大家请指出错误。


公司需要我的软件运行的上位机和机器人的下位机,文件传输。由于下位机是Ubuntu的 直接自带SCP服务。于是打算用scp的传输方式。找了很多资料,发现还是很方便的。写一下笔记吧。

1.下位机的文件夹权限

在传输前,linux系统的机器 需要把目录的文件夹读写权限都赋予。具体就是: sudo chmod 777 操作。
window就不需要了,但是需要window需要装scp服务(这个自行百度);

2.C#动态库

需要的动态库:SharpSSH 。这是个ssh协议的动态库,功能很全。
链接:https://pan.baidu.com/s/1QPa3EL2cQy2S_uqzimpBvQ 
提取码:6dtg 
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190530144022789.png)
unity的环境的话,直接把图中的三个动态库 放进Pulgins文件夹里 就可以了。

3.SCP类

 public class Scp : SshTransferProtocolBase
    {
        public Scp(string host, string user);
        public Scp(string host, string user, string password);

        public bool Recursive { get; set; }
        public bool Verbos { get; set; }
        protected override string ChannelType { get; }

        public override void Cancel();
        public void From(string remoteFile, string localPath, bool _recursive);
        public void From(string remoteFile, string localPath);
        public override void Get(string fromFilePath, string toFilePath);
        public override void Mkdir(string dir);
        public override void Put(string fromFilePath, string toFilePath);
        public void To(string localPath, string remotePath);
        public void To(string localPath, string remotePath, bool _recursive);
        protected override void ConnectChannel();
        protected void SCP_CheckConnectivity();
        protected void SCP_ConnectFrom(out Channel channel, out Stream server, string rfile, bool recursive);
        protected void SCP_ConnectTo(out Channel channel, out Stream server, string rfile, bool recursive);
        protected void SCP_EnterIntoDir(Stream server, string dir);
        protected void SCP_EnterIntoParent(Stream server);
        protected void SCP_ReceiveFile(Stream server, string rfile, string lfile, int size);
        protected void SCP_SendFile(Stream server, string src, string dst);
    }

主要用到这几个:

  1. 下载文件 void Get(string fromFilePath, string toFilePath);
  2. 上传文件 To(string localPath, string remotePath);
  3. 创建文件夹和文件 void Mkdir(string dir);

4.下载文件

/// <summary>
    ///  SCP登录远程,并下载文件
    /// </summary>
    /// <param name="host">远程主机地址</param>
    /// <param name="user">用户名</param>
    /// <param name="password">密码</param>
    /// <param name="fromFilePath">文件的绝对路径</param>
    /// <param name="toFilePath">存放文件的绝对路径</param>
    public static void ScpGetFile(string host, string user, string password, string fromFilePath, string toFilePath)
    {
        try
        {
            Scp myScp = new Scp(host, user, password);
            //一般都是这个默认端口,可以设置
            myScp.Connect(22);
            myScp.Get(fromFilePath, toFilePath);
            //操作结束 就关闭
            myScp.Close();
        }
        catch (Exception e)
        {
            Debug.Log(e.ToString());
            throw;
        }
                           
    }

5.上传文件

 /// <summary>
    ///  SCP登录远程,并上传文件
    /// </summary>
    /// <param name="host">远程主机地址</param>
    /// <param name="user">用户名</param>
    /// <param name="password">密码</param>
    /// <param name="fromFilePath">文件的绝对路径</param>
    /// <param name="toFilePath">存放文件的绝对路径</param>
    public static void ScpToFile(string host, string user, string password, string localPath, string remotePath)
    {
        try
        {
            Scp myScp = new Scp(host, user, password);
            //一般都是这个默认端口,可以设置
            myScp.Connect(22);
            myScp.To(localPath, remotePath);
            //操作结束 就关闭
            myScp.Close();
        }
        catch (Exception e)
        {
            Debug.Log(e.ToString())
            throw;
        }
     
    }

这边需要注意的是:如果目录不对,容易卡死报错。

小结:本身这个库已经封装的很好了,直接拿来用就可以了。

使用SSH密钥对进行SCP文件传输的完整指南 在进行SCP(Secure Copy Protocol)文件传输时,使用SSH密钥对可以实现免密传输,提升了安全性和便利性。 阅读详情

相关推荐

Linux使用SCP进行文件传输

本章内容基于CentOS6.5(32位) scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。 scp不需要安装额外的软件,使用起来简单方便,安全可靠且支持限速参数但是它不支持排除目录 为了学习SCP命令我创建了3个Linux虚拟机,其ip地址分别位192.168.132.130、192.168.132.1...

w8827130的博客 6万+

【Linux】远程上传下载文件到服务器的命令使用

scp命令的使用 scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2 1、从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本地目录) 例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.1...

wenfengSAT的博客 743

Linux文件传输详解:rz、sz与scp命令

在Linux系统中,文件传输是一项常见的任务。本文将详细介绍如何在Linux系统中使用rzsz和scp命令进行端对端文件传输,并提供实战案例。

广阔天地,大有作为 5494

scp连接

使用scp在Linux进行文件传输 -bash: scp: command not found 首先安装一下scp yum -y install openssh-clients 然后就可以使用scp root@192.168.1.12:/a.txt /mnt 拷贝192.168.1.12上/a.txt到本地的/mnt文件夹里了 ...

qq_25589609的博客 1043

C# SCP文件传输,包括下载和上传

C#基于Renci.SshNet做的SCP客户端,可以从服务器下载文件,或者上传文件到服务器,下载和上传的时候有进度条显示进度信息。 vs2008工程,全部源代码,可编译和测试。

C# SCP下载和上传

C#版本的SCP上传和下载(基于Renci.SshNet),Vs2008工程,完整源代码,有进度条提示。

scp远程链接服务器上传操作及tomcat的安装与前端部署

右击打开git bash here 进入linux命令行界面(注意此时的路径必须是要切换到咱们需要上传的文件夹下的,否则的话就需要使用命令行在执行命令行之前专门切换一下地址);如果刚刚上传的代码是一个前端文件,那么此时我们就需要将它进行启动了。1.安装java环境(tomcat是用java写的)执行之后可以看到是否安装成功。使用命令行安装tomcat。

m0_70892217的博客 415

树莓派5安装ROS2小白指南避坑攻略

手把手教你如何在树莓派5上顺利安装ROS2,避开常见问题与陷阱,提升配置效率。针对树莓派5安装ros2过程中的依赖冲突、源配置错误等高频难题提供解决方案,适合新手快速上手。

weixin_35754962的博客 1003

ssh与scp 连接机器与传输文件

ssh与scp1、scp拷贝文件1.1、将本地服务器文件拷贝到远程服务器1.2、从远程服务器将文件拷回本地服务器2、scp拷贝文件夹2.1、将本地服务器文件夹拷贝到远程服务器2.2、从远程服务器将文件夹拷回本地服务器3、使用ssh连接Linux(通过密码) 1、scp拷贝文件 1.1、将本地服务器文件拷贝到远程服务器 scp 文件名 用户名@计算机IP或者计算机名称:远程路径 scp /etc/profile root@192.168.108.9:/etc/profile 需要输入远程计算机的密码 1.2

juluwangriyue的博客 1733

RK3588开发板量产前必做:24小时DDR压力测试到底在测什么?(附ArmSoM-W3测试脚本解析)

本文深入解析RK3588开发板量产前的24小时DDR压力测试,揭示其核心价值与技术原理。通过memtester、stressapptest和变频测试的组合使用,全面验证DDR内存稳定性。特别介绍ArmSoM-W3测试脚本的创新设计,包括并行测试架构和异常熔断机制,为开发者提供可靠的量产测试方案。

weixin_30325487的博客 453

在实战中学AI-车流量统计项目-YOLOV11车辆检测-YOLOV11模型的部署

考虑实际落地中部署推理资源消耗,速度与模型精度之间的均衡,同时,车辆属于比较通用场景的目标检测,我们将YOLOV11作为最终的模型选择,目前官方开源的模型基于coco数据集训练,里面已经包含了车辆相关类别,经测试,在监控视角下效果基本可用,所以,在落地过程中,我们先用这个模型来打通部署链路,后面再逐步优化模型性能。在Nvidia的硬件下做部署,部署框架优先选择官方框架TensorRT,下面重点讲述如何用TensorRT部署YOLOV11模型。

Aleo_优快云的博客 2164

scp命令 软链接_linux - scp命令远程文件拷贝

简介scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用ssh1,并且和ssh1使用相同的认证方式,提供相同的安全保证。scp只要通过sshd服务进行通讯,而且要求两端都有scp这个命令。用法scp [-pqrvBC1246] [-F ssh_config] [-S program] [-P port] [-c cipher] [-i identity_file] [-l li...

weixin_29592699的博客 1726

5G初始注册流程详解(2)-Registration Request

1:了解注册的本质,5G终端为什么要注册? 2:SUCI,SUPI,5G-GUTI的区别? 3:为什么会有COMPLETE REGISTRATION REQUEST呢?

weixin_53220301的博客 3794

scp 文件传输命令详解

scp(secure copy)是一个基于 SSH 协议在网络之间进行安全传输的命令,本文介绍传输的常用配置和实际例子

lansebingxuan的专栏 2万+

在 SAP HANA 里为视图创建 Analytic Privilege,真正把同一份数据按角色切开

摘要:本文介绍了SAP HANA中基于业务角色的动态数据权限控制方法。通过Analytic Privilege技术,可以在同一视图上为不同角色设置不同的数据访问范围,实现行级安全控制。核心机制包括:1) 创建带有STRUCTURED PRIVILEGE CHECK的视图;2) 建立授权对象和用户映射表;3) 开发条件提供过程动态生成过滤条件;4) 创建结构化权限对象绑定条件提供器。这种设计使权限规则与业务数据解耦,便于维护变更,适合销售区域、财务数据等多角色访问控制场景。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2390

2025年7月5日全国青少年信息素养大赛图形化(Scratch)编程小学低年级组复赛真题+答案

2025年7月5日全国青少年信息素养大赛图形化(Scratch)编程小学低年级组复赛真题+答案

伶俐角少儿编程 898

文件传输协议FTP、SFTP和SCP

网络通信协议分层和文件传输协议FTP、SFTP和SCP的使用。

Geurney的专栏 2万+

以 Joule 驱动的生成式开发:把需求文档直接变成可运行的 SAP 应用

摘要:SAP BTP的AI助手Joule正在改变开发方式,支持从自然语言描述自动生成数据模型、服务、UI及测试代码。在SAP Business Application Studio中,Joule能根据业务需求生成结构化代码,并提供代码补全、重构、解释等功能。开发者需注意避免上传敏感数据,并对AI生成的代码进行人工审核。Joule特别针对ABAP开发进行了优化,提供符合SAP规范的代码建议,帮助迁移遗留系统。此外,它还能快速生成CAP项目原型,但所有AI生成内容都需经过严格测试验证。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 340

Linux命令:文件传输命令scp详解

scp(Secure Copy)是 Linux 系统中一个基于 SSH(Secure Shell)协议的文件传输命令。它允许用户在不安全的网络环境中安全地传输文件。由于使用了 SSH 协议,`scp` 命令在传输过程中会加密数据,确保数据的安全性和完整性。 可以使用scp 在不同的服务器之间传输配置文件、日志文件、备份文件等,以完成各种管理任务。scp 可以提供可靠的数据传输服务,确保数据在迁移过程中的完整性和安全性。在远程备份、部署应用程序中经常会用到scp命令。

weixin_70208651的博客 10万+

手把手教你学simulink实例--基于Simulink的储能系统性能评估与仿真

储能系统是现代能源体系中的关键组成部分,广泛应用于可再生能源并网、电网调峰调频、电力质量改善以及电动汽车充电等领域。为了提高储能系统的运行效率和可靠性,对其性能进行准确评估至关重要。基于MATLAB/Simulink平台,可以构建储能系统的动态模型,并通过仿真分析其在不同工况下的性能表现。本项目旨在研究储能系统的建模方法、控制策略及其性能评估指标,并通过Simulink仿真验证系统的动态特性和稳态性能。

MHD0815的博客 194

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

文件传输协议FTP、SFTP、SCP

今天在了解Ansible的时候看到了Ansible是基于SFTP协议进行文件传输的,就想了解下FTP协议与SFTP协议的区别,因为总结了这篇文章。 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(Domain Name System) FTP(File Transfer Protocol) SFTP(SSH File Transfer Protocol,和FTP不一样) SCP(Secure copy,based on SSH) SSH (S

lvxin15353715790的博客 1553

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

文件传输不止有FTP还有SCP,真的秀

传输文件的方式,一般都是使用FTP,既快又方便。本文会给大家说一种新的方式SCP 前言 文件传输FTP是我们最常见的,但是最近我才知道还有一种方式SCP可以直接往远程传输文件。 这种方式也是评论区给提供的,在此感谢名为星云 的这位大咖。 今天就给大家介绍一下这种方式。 任何一种工具都有存在的理由,不是说有了FTP我们就拒绝用其它东西,拒绝学习其它新的工具。 SCP命令使用 SCP就是基于linux之间复制文件和目录的,当然可以从win直接传输到远程。使用起来也是很方便的。 SCP是有很多参数的,咔咔也不.

咔咔博客 898

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Ubuntu18.04使用SCP协议进行文件传输

Ubuntu、SCP协议、文件传输

FriendshipTang的博客 2074

scp覆盖原有文件_SCP vs SFTP: 应该选择哪一个进行文件传输呢?

SCP vs SFTP: 应该选择哪一个进行文件传输呢?SCP (Secure Copy Protocol) 和 SFTP (Secure File Transfer Protocol) 都是 FTP (File Transfer Protocol) 的变体,三者都是用来完成文件拷贝的工作,通过网络将一台主机上的文件拷贝到另外一个主机上。然而, FTP 是以明文的形式发送数据,数据未经过加密, 缺...

weixin_39724009的博客 1413

Linux命令:文件传输命令scp详解

摘要: scp(Secure Copy)是 Linux/Unix 系统中基于 SSH 协议的安全文件传输命令,适用于本地与远程主机或远程主机之间的加密传输。 核心功能与优势: 支持文件/目录(递归 -r)拷贝 保留文件属性(-p) 可指定端口(-P)、密钥认证(-i)、压缩(-C)及限速(-l) 典型用法: 本地→远程:scp file.txt user@host:/path 远程→本地:scp user@host:/path/file.txt . 远程间传输:通过本地中转 适用场景: 服务器备份、应用部署

likuoelie的博客 2954

linux - sftp, scp, rz, sz(文件传输命令)

1. sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具。由于它是基于SSH的,会在传输过程中对用户的密码、数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性。在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作)。Sftp与ftp虽然只有一字之差,但基于的传输协议却是不同的。因此不能用sftp client去连接ftp server 也不能用 ftp client 去连接 sftp

木牛的博客 4167
上一篇: Unity3D笔记——MySQL数据库 简单使用
YYL_Debug
博客等级 码龄10年 14粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值