C#使用PuTTY加密上传文件

news/2024/9/22 9:38:13

需求:加密通过SFPT上传文件

1.安装PuTTY

2.生成文件,文件不用后缀名

 

3.上代码

class Program{private static string file = "C:\\Users\\3859\\Desktop\\RODHoldToRepairOrScrapList KSZRODHL2022-10-28\\T326\\ReceivingReport-20240510100.xlsx";static void Main(string[] args){//PuttySFTP_ToFile(file);
            PPKSftp_ToFile(file);Console.ReadKey();}private static void PPKSftp_ToFile(string file){var privateKeyPath = @"D:\dzw\FileKey\puttyKey"; // 指定ppk文件路径var username = "DZW2"; // SSH服务器的用户名var host = "124.221.227.131"; // SSH服务器的地址var port = 1022; // SSH端口,默认是22var remoteFilePath = "/path/"; // 远程文件路径//使用私钥文件创建一个PrivateKeyFile对象PrivateKeyFile privateKeyFile = new PrivateKeyFile(privateKeyPath);//使用私钥文件创建一个PrivateKeyFile对象PrivateKeyAuthenticationMethod privateKeyAuth = new PrivateKeyAuthenticationMethod(username,privateKeyFile);//创建一个链接信息对象ConnectionInfo connectionInfo = new ConnectionInfo(host,port,username, privateKeyAuth);//创建一个SftpClient脆响并连接到SFTP服务器using (var sftpClient = new SftpClient(connectionInfo)){sftpClient.Connect();//创建远程目录和本地目录if (!sftpClient.Exists(remoteFilePath)){sftpClient.CreateDirectory(remoteFilePath);}//创建文件//if (!Directory.Exists(file))//{//    Directory.CreateDirectory(file);//}//赋值的文件到远程目录//IEnumerable<FileSystemInfo> infos = new DirectoryInfo(file).EnumerateFileSystemInfos();//foreach (var info in infos)//{//    using (var fs = File.OpenRead(info.FullName))//    {//        string reFilePath = Path.Combine(remoteFilePath,info.Name);//        sftpClient.BeginUploadFile(fs,remoteFilePath);//    }//}using (var fs = File.OpenRead(file)){string reFilePath = Path.GetFileName(file);sftpClient.UploadFile(fs, remoteFilePath + reFilePath);}sftpClient.Disconnect();}}}

 

4.效果:

 

 

参阅:https://blog.csdn.net/CSDN2016DDDD/article/details/132980800

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

python类函数定义第一个参数必须是self

如果不写self,则会报错 加上之后错误就会消失

第 5 篇 Scrum 冲刺博客

这个作业属于哪个课程 软件工程2024这个作业要求在哪里 团队作业4——项目冲刺这个作业的目标 记录敏捷流程下第五天的项目开发进展,对团队昨日的项目进度进行总结一、每日站立式会议 1、每日站立式会议照片2、会议摘要本次会议为第五次Scrum Meeting会议~ 由于本次会议队长召…

TEE 开发 禁止大内存TA加载

我们会经常遇到一些 TA , 把自己的TA_STACK_SIZE 和 TA_HEAP_SIZE 设置的太大 ,从而无法成功被load的情况。因为ta ram 一共就这些内存, 但是 TA的这两个宏配置是 由用户去决定的,为了避免这些TA owner 方便自己害了他人考虑,我们在可以做出如下限制。在 bl32 里面 load …

爬虫 python的第一天

1、安装pycharm及python相关的安装 2、新建python项目 3、引包 import requestspip install requests4、打开网页,找打你想要爬的数据URL 5、写代码获取到对应的数据,保存到本地。import requestsurl = "https://sns-video-al.xhscdn.com/stream/110/259/01e640315b0ef…

第 4 节 多元复合函数的求导法则

第四节 多元复合函数的求导法则 1. 一元函数与多元函数复合的情形2. 多元函数与多元函数复合的情形

MinIO入门教程

是什么? MinIO 是一种高性能、S3 兼容的对象存储。它是为 大规模 AI/ML、数据湖和数据库工作负载。它是软件定义的 并在任何云或本地基础设施上运行。 MinIO 具有双重许可 根据开源 GNU AGPL v3 和商业企业许可证 特点简单 简单性是百亿亿次数据基础设施的基础——无论是技术上…

shell条件语句

一、测试 文件测试testtest的语法 test 条件表达式 [ 条件表达式 ] test 选项 文件 -d :判断是否是目录(Directory) -f :判断是否是普通文件(File) -b :判断是否是块设备(block) -c :判断是否是字符设备 -e :判断是否存在 (Exist) -a :判断是否存在 -r :判断…

发掘 Chrome 的实用命令:提升你的浏览器使用体验

前言 在日常使用浏览器时,大多数人只是简单地浏览网页、搜索信息或者查看邮件。但是,其实 Chrome 浏览器有许多隐藏的功能和命令,可以帮助用户更高效地使用浏览器,提升工作和生活的效率。本文将介绍一些实用的 Chrome 命令,让你的浏览器技能更上一层楼。查看所有命令chrom…