使用Net::SSH下载文件并转换文件格式

.net 的SSH操作linux文件 我们知道在开发一个网站的时候,有时候会有多个服务器,一个应用服务器和数据服务器,而且文件服务器一般都是linux系统,那么,今天的问题就来了,就是怎么跨服务器操作linux系统的文件,比如我们要在linux上面做上传文件,下载文件,删除文件等操作呢?下面开始我们的主题。 不知道大家有没有听过Rechi.SSHNet类库,这个类库是开源的,用SFTP协议操作文件,它是基于协议。 using Sy 阅读详情
require "rubygems"
require 'net/ssh'
require 'net/sftp'
require 'net/scp'
require 'pathname'
require "iconv"

class Downfile
  @@_path =File.expand_path(File.join(File.dirname(__FILE__),'..','..','common-error','promoprod'))
  @@ofile_path=File.join(@@_path,'common-error.log')
  @@ofile_path1=File.join(@@_path,'common-error-1.log')

  def initialize(from, to = 'GBK')
    @to = to
    @from = from
  end
  def filedown
    File.delete(@@ofile_path) if File.exist?(@@ofile_path)
    sleep 1
    res=false
    Net::SSH.start("promoprod.sit.alipay.net", '***', :password => "*****",:port=>'**') do |ssh|
      res=ssh.scp.download!('/********/common-error.log', @@_path)
    end
    return res
  end

  def changer_file_encoding
    contents = File.open(@@ofile_path).read
    output = Iconv.conv(@to, @from, contents)
    file = File.open(@@ofile_path, 'w')
    file.write(output)
  end

  def fileedit
    @a=[]
    file=File.open(@@ofile_path)
    $line= file.readlines
    #    p $line[20]
    $num=0
    $num.upto($line.size-1) do |x|
      value= $line[x]
      if value.include?(" ERROR ") && !@a.include?(value)
        @a<<value
        $index= @a.index(value)
        next
      end
      if value.include?("\tat") or value.include?(" ERROR ") or value.include?('	at ')
        break
      else
        @a[$index]<<value
      end
    end
    file.close
    return @a
  end

end

oo=Downfile.new("GBK")
oo.filedown
oo.changer_file_encoding
puts  oo.fileedit





配置Virtualbox上Centos7虚拟机实现远程ssh连接 记录一下如何实现主机远程ssh 连接到Virtualbox上centos7系统,方法包括NET地址转换方法和桥接网卡方法 最终实现效果 使用ssh可以连接到虚拟机,并且虚拟机可以连接外网,如图所示: 图一 一、方法 有两种方法可以实现上面描述的效果: 1.NET地址转换 该方法只需简单修改Linux虚拟机配置文件,并在VirtualBox虚拟机软件上进行相关操作即可。 2.桥接网卡模式 这种模式下,虚拟机相当于是局域网的一台真机器,需要修改一下Linux虚拟机的相关配置文件。 二、开始之前 必须要进行. 阅读详情

相关推荐

Windows XP下使用PuTTYgen生成SSH密钥对与远程文件传输实战

PuTTYgen是PuTTY工具套件中用于生成SSH公私钥对的核心组件,专为Windows平台设计。其主要功能是生成符合SSH协议标准的密钥(如RSA、DSA等),并支持将私钥保存为PuTTY专用的PPK格式。尽管界面简洁,但其底层实现遵循严格的密码学规范,适用于远程登录认证、自动化脚本身份验证等场景。熵(Entropy)是信息论中衡量系统不确定性的核心指标。在密码学语境下,高熵意味着更高的不可预测性,从而保障密钥无法被枚举或重现。

weixin_35750483的博客 1549

.Net core 使用SSH.Net上传到SFTP服务器和和下载文件

今天换了个服务器,文件上传到sftp服务器上了,那么ftp和sftp服务器有什么区别呢,正常来说sftp会更安全一些。 废话不多说,首先.net core 上传到sftp需要引入一个Nuget包,就是下图这个了。 引入之后呢,就可以直接使用了,非常的方便快捷,需要先引入 using Renci.SshNet; 这个命名空间。 然后我们前台传来的file文件通过memor...

abxdd2015的博客 1590

使用Renci.SshNet实现sftp文件上传和下载,支持.net3.5及以上版本

基于.net3.5版本,使用C#语言上传文件到SFTP,示例里面附Renci.SshNet.dll类库。

ssh如何修改服务器上的文件,ssh生成及添加到服务器,及vscode remote 配置文件设置...

本地生成ssh key使用命令ssh-keygen -t rsa -b 4096生成ssh key,生成好的路径在:macOS/linux:~/.ssh/id_rsa.pubwin: C:\Users\your-user\.ssh\id_rsa.pub上传服务器macOS / Linux机器超级容易: ssh-copy-id your-user-name-on-host@host-fqdn-or-...

weixin_39763683的博客 947

将MP4文件转换成流格式,可以边下载边播放

普通的MP4文件要下载完全部文件数据才能播,但这个工具可以将MP4的元数据和索引数据放到前面,使得文件下载一部分就可以播放。 这个是命令行工具,运行编译后生成的EXE。命令行用法: qt-faststart

KV Cache 详解:新手也能理解的 LLM 推理加速技巧

(Autoregressive)生成的,即每次生成一个 token,然后将其作为输入继续生成下一个 token。:如果序列太长,超过了 KV Cache 的存储限制,就需要丢弃最早的 tokens(类似滑动窗口)。时,每次只会生成一个新 token,然后再把这个 token 作为输入继续生成下一个 token。,只缓存计算过的 K,VK, V,每次只计算新 token 的 K,VK, V,从而提升推理效率。:如果输入的 prompt 发生变化,之前的 KV Cache 不能复用,必须重新计算。

Harry的博客 7360

ruby使用Net::SSH和Net::SCP,实现远程命令执行

安装: gem install net-ssh gem install net-scp 以下所有代码都引用这段代码 require 'net/ssh' require 'net/scp' HOST = '192.168.1.1' USER = 'username' PASS = 'password' 1、使用Net::SSH执行一个命令 Net::SSH.start(

ye_i_qi的博客 2592

告别切换烦恼!用Parallels Desktop的Host-Only网卡,在macOS上直接访问虚拟机里的公司内网

本文详细介绍了如何在macOS上使用Parallels Desktop的Host-Only网卡直接访问虚拟机内的公司内网,告别频繁切换操作系统的烦恼。通过配置Host-Only网络模式,实现主机与虚拟机的安全高效通信,特别适合需要频繁访问内网资源的IT从业者。文章包含分步指南、自动化脚本和常见问题解决方案,帮助用户优化工作流程。

weixin_28739079的博客 363

使用Net::SSH和Net::SCP编写Linux服务器管理脚本

原文:http://rubyer.me/blog/1133/ 有没有这样一个需求:同时向几十上百台Linux服务器上传文件并执行命令,如果一个个来,那你就真是挨踢民工。程序员要发挥自己懒惰的个性,借用Net::SSH和net::SCP用Ruby写个脚本你会发现非常简单。 Net::SSH和Net::SCP是两个Ruby操作SSH的gem包。Net::SSH相当于cmd,专门用于执行命...

Sakila 396

QMT实盘避坑指南:从环境配置到策略部署的完整流程(含国金证券路径设置)

本文是一份详尽的QMT实盘交易避坑指南,重点解析了从环境配置到策略部署的完整流程。针对国金证券QMT平台,文章深入剖析了核心架构、精准路径配置、关键参数解析、交易操作实战及异常处理,并提供了策略部署、监控与日志构建的完整方案,旨在帮助具备Python基础的开发者规避常见陷阱,实现稳定可靠的实盘交易。

weixin_29309475的博客 592

YF-S401水流量传感器在STM32上的精准计量实现

本文详细介绍了YF-S401水流量传感器与STM32微控制器的集成应用,实现精准水流计量。通过外部中断和外部时钟两种脉冲计数方案,结合硬件配置、软件滤波和校准技巧,确保高精度流量测量。适用于智能家居和工业自动化中的水控系统,提升系统稳定性和测量准确性。

rainy的博客 896

c# NET6.0 SFTP 使用私钥连接并实现文件的上传与下载

介绍了在Net6.0 使用Openssh 和ppk私钥连接SFTP服务器

听我俩天的博客 2011

dmx512协议c语言编程,DMX512协议+c程序代码.pdf

DMX512 协议1.协议简介DMX 是Digital MultipleX 的缩写 ,意为多路数字传输。DMX512 控制协议是美国舞台灯光协会(USITT)于1990 年发布的灯光控制器与灯具设备进行数据传输的工业标准 ,全称是 USITT DMX512(1990) ,包括电气特性、数据协议、数据格式等方面的内容。2. 电气特性和物理层2.1. 电气特...

weixin_39928993的博客 2543

.Net 6使用私钥连接SFTP

项目场景: .Net 6使用私钥连接SFTP 问题描述 最近在工作中需要通过给定的私钥连接SFTP,我这边使用了Renci.SshNet来连接,程序报错“Renci.SshNet.Common.SshException:“openssh key type: ssh-rsa is not supported”” 原因分析: 报错提示说 ssh-rsa不受支持,随后我在网上找了相关资料也说明了最新的SSH.NET2020.0.0仅支持ssh-ed25519键的OPENSSH格式 解决方案: 通过一下代码将

Tom是只好猫的博客 2545

【Proteus仿真】基于AT89C51单片机的单片机双向通信

本文介绍了基于AT89C51单片机实现双向通信的系统设计。系统采用MAX232芯片实现TTL与RS-232电平转换,通过CONN-D9F接口建立串行通信连接。甲机程序通过按键控制发送不同指令字符,同时接收乙机数据驱动数码管显示;乙机程序根据接收指令控制LED显示状态,并可发送0-10数字至甲机。文中详细说明了MAX232电平转换原理、DB9接口定义,以及完整的单片机控制程序代码,包括串口初始化、数据收发处理等关键功能实现,为嵌入式系统串口通信开发提供了实用参考方案。

XU157303764的博客 1094

ZYNQ GP总线实现PS与PL交互

3,完成 ZYNQ7 Processing System 的配置更改后,回到 Diagram 界面中,可以看到新出现了名为 M_AXI_GP0_ACLK、M_AXI_GP0 和 FCLK_CLK0 的接口,下面我们要对这些接口进行连接或引出。此处的偏移量,AXI的相邻寄存器偏移量相差4个字节,默认slv_reg0的偏移量是0,可以推导出slv_reg1,slv_reg2的偏移量分别为4和8,这里只用到了slv_reg0,所以偏移量为0。当然了,窗口数量的增加,势必会使得单个窗口的采样深度变小。

wangjie36的博客 7094

如何使用 Containerfile/Dockerfile 构建 .net 镜像?

构建轻量级的 `.NET Core` 镜像通常涉及到几个关键步骤,主要是选择正确的基础镜像、使用多阶段构建、优化文件结构以及清理不必要的文件。

ChaITSimpleLove的博客 2165

Python数据分析全流程指南:从数据采集到可视化呈现的实战解析

在数字化转型浪潮中,数据分析已成为企业决策的核心驱动力。Python凭借其丰富的生态库和简洁的语法,成为数据分析师的首选工具。本文将以实战案例为脉络,拆解数据分析全流程的关键环节,通过具体代码和场景说明如何用Python完成从数据采集到可视化呈现的完整链路。

这家伙很懒,什么都没有留下 1681

在VMware下创建ubuntu虚拟机,以及与win建立ssh远程连接,全网最全

Vmware ubuntu mobaxterm ssh 连接

Hiddengold的博客 3496

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【.Net Core学习计划】Ubuntu中SSH服务器安装

SSH Server安装 Ubuntu默认安装了openssh-client 安装服务器指令: sudo apt-get install openssh-server 查看SSH是否开启 指令:netstat-tlp 如图,说明已启动。如果没有上图所示,说明没启动,重新启动即可。 SSH服务器重新启动 指令:sudo /etc/init.d/ssh restart 一般在Linux下, 重启程...

外星球上土生土长的地球淫的博客 214

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

swagger.yaml转换为swagger.json文件

方法一 swagger-editor页面 官方的 swagger-editor Live Demo (在线直接使用,就是访问的有点慢)或者将swagger-editor Download 下载到本地然后运行起来 在本地使用编辑器打开一个 swagger.yaml或者swagger.json文件,全选(Ctrl + a键) swagger.yaml文件的内容之后复制(Ctrl + c)...

weixin_30843605的博客 4611

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Java SSH连接实战:JSch库实现远程命令执行与文件传输

SSH(Secure Shell)是一种加密网络协议,用于在不安全的网络中提供安全的远程登录和命令执行服务。其工作原理基于非对称加密和对称加密相结合的方式,确保数据传输的机密性和完整性。在Java开发领域,SSH连接技术为自动化运维、分布式系统监控和远程服务器管理提供了核心支持。通过JSch这一纯Java实现的SSH2客户端库,开发者可以轻松集成SSH功能到应用程序中,实现远程命令执行、安全文件传输(SFTP)和端口转发等高级功能。本文聚焦于JSch库的实战应用,详细解析如何通过Java代码建立SSH连接、

weixin_30706691的博客 394

Java SSH vs ASP.NET MVC

2020/6/7 Java平台企业系统开发普遍使用SSH(Struts+Spring+Hibernate),随着SSH各框架版本的升级,特别是Spring的不断改进,貌似可以不用Struts了。 .NET平台企业系统开发也有了类似的东西,ASP.NET MVC +Entity Framework。微软总是把已有的技术做得更容易使用,ASP.NET MVC +Entity Framework是不是又一个实证呢? 使用Visual Studio 2013,你基本不需写代码(只需写模型类,代码非常简单),就

科华在线 475

VMware安装64位Ubuntu-20.04.1-live-server-amd64(服务器版)并开启SSH服务进行远程登录,详细图文过程

文章目录 前言 一、服务器版本的Ubuntu下载 二、服务器版本的Ubuntu安装 三、开启SSH服务,实现远程链接 前言 在配置Fabric2.0时,需要用到虚拟机,所以就使用Ubuntu-service版本的进行类类配置。 我们的服务器,或者说我们在虚拟机上安装的ubantu,每次进出虚拟机是不是很不方便,下面我们来学习一下怎么在ubantu上开启ssh服务,然后实现远程的ssh链接。 一、服务器版本的Ubuntu下载 在进行Fabric2.0部署时,由于是在虚拟机上进..

Dong_ZH的博客 5169

code.csdn.net使用记录

00000000x1 根据帮助文档https://code.csdn.net/help/优快云_Code/code_support/new_1

魔侠的沙滩 1198

使用SSH能从你的应用程序中存取万维网IP*Works SSH

IP*Works SSH能为Microsoft.NET提供强大的SSH安全特性,并能为你的Internet应用程序添加快速SSH安全特性。有了IP*Works S/Shell,软件开发人员能快速建立具有SSH安全特性的应用...

cinv0927的博客 152
上一篇: Ruby语言 (三)
下一篇: 遍历符合某种链接地址的link数
子木清风
博客等级 码龄20年 46粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值