Windows下使用DOS命令上传文件到服务器

news2024/12/26 21:14:02

前言

本文将分享在windows环境下,如何编写DOS脚本来上传文件到远程服务器

使用工具

这里我们需要下载:PuTTY(下载地址)

PuTTY是由Simon Tatham开发的免费、开源的SSH和Telnet客户端。它允许用户通过命令行使用SSH或Telnet协议连接到其他计算机。该应用程序也可以通过串行端口和传统互联网协议(如Telnet)进行通信。

下载安装完成之后,目录结构如下:
在这里插入图片描述

操作步骤

生成公钥和私钥

为了使用 SSH 密钥进行身份验证,你需要生成一对 SSH 密钥,包括私钥和公钥。以下是生成 SSH 密钥的简要步骤:

  1. 生成 SSH 密钥:
    运行 puttygen.exe,这是一个图形界面工具。
    Key 部分,点击 Generate 按钮,移动鼠标直到密钥生成完成。
    在这里插入图片描述
    生成之后的界面如下:
    在这里插入图片描述
  • Key comment中输入一个标识性的注释,用于说明这段密钥的作用(可选)
  • 设置密码以保护私钥,避免私钥被窃取(可选,但推荐)
  • 点击 Save private key 保存私钥(保存为 .ppk 文件)
  • 点击 Save public key 保存公钥(保存为 .pub 文件)
  • Key部分生成的公钥内容复制保存,这个后面需要复制到服务器上
  1. 在服务器上注册公钥
  • 打开用户主目录下的 ~/.ssh/authorized_keys 文件(如果不存在,可以创建它)
  • 将复制的公钥粘贴到 authorized_keys 文件中,并保存,格式如下
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCCKKnh+0SnrxK0NIRLZRXznBfLCxFuqb2tq7qM0zMB/iI0gt8LFnqVn3B9AHnfSLQxQdp6FOOcXVPR72uVsZnhgmSsMatSyO8w/JwxAW1Oz0CCSWRI89SB93v6uVHED41dblF7dUlO3jntUbd8QZ4hkoY+bmvZ5ugSTjeSi12picxdvRue4Jsjumn+RLI2OsndmpQxE9muiIVDSgPrqTzbSQ5vlXOD9H64RAF5VdZiKNEdDsIU+DmFRy4NSDaP+vp8H3bCeSQcG5Fr0AcJnk3KlamCBqjtVdy0CNiZjmNWCAiTUHcpvePu/ouIptf7RRHcZ0nihkZf5Ao3hhQn44Sv7 rsa-key-20240101
  • 现在,你已经生成了 SSH 密钥对,私钥保存在本地,而公钥已经添加到目标服务器。在你的脚本中,指定私钥文件的路径,并确保 SSH 密钥对设置正确,以实现安全的自动身份验证。

编写脚本

@echo off
set PSCP_PATH=C:\path\to\pscp.exe
set SERVER=example.com
set USER=your_username
set PRIVATE_KEY=C:\path\to\private_key.ppk
set LOCAL_FILE=local_file.txt
set REMOTE_DIR=/path/to/remote_directory

"%PSCP_PATH%" -i "%PRIVATE_KEY%" "%LOCAL_FILE%" "%USER%"@"%SERVER%":"%REMOTE_DIR%"

在这个脚本中,我们使用 pscp 命令并指定了以下参数:

  • -i:指定私钥文件路径。
  • "%LOCAL_FILE%":指定本地文件的路径。
  • "%USER%"@"%SERVER%":"%REMOTE_DIR%":指定远程服务器的用户名、地址和目标目录。

确保替换这些变量的值为你的实际信息,并确保 pscp.exe 的路径正确。保存为.bat文件,运行此脚本将会上传本地文件到远程服务器的指定目录中。

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

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

相关文章

Qt第一个UI程序设计

在第一个Qt程序的基础上我对ui界面进行设计,点击设计按钮 然后 拖动Label按钮输入想要输入的语句。 运行结果如下图。

模式识别与机器学习-半监督学习

模式识别与机器学习-半监督学习 半监督学习半监督学习的三个假设半监督学习算法自学习算法自学习的步骤:自学习的优缺点:优点:缺点: 协同训练多视角学习生成模型半监督SVM 谨以此博客作为复习期间的记录 半监督学习 半监督学习&…

儿童可以戴骨传导耳机吗?骨传导耳机对儿童有危害吗?

儿童是可以佩戴骨传导耳机的,相比于传统的入耳式蓝牙耳机,佩戴骨传导耳机要更健康一些。 首先骨传导耳机通过人体骨骼来传递声音,不经过耳道和耳膜,所以对听力的损伤较小,而且由于儿童还处于发育期,耳道和耳…

Java多线程技术9——非阻塞队列

1 概述 非阻塞队列的特色是队列里面没有数据时,返回异常或null。在JDK的并发包中,常见的非阻塞队列有:ConcurrentHashMap、ConcurrentSkipListMap、ConcurrentSkipListSet、ConcurrentLinkedQueue、ConcurrentLinkedDeque、CopyOnWriteArrayL…

代码随想录算法训练营Day16 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

LeetCode 654 最大二叉树 本题思路:我们可以看到每次其实这个找最大值,然后创建节点的过程就是一个二叉树的前序遍历的过程。所以,我们可以递归来完成它。 先创找到数组中,最大的值的下标,然后创建根节点然后根据下标…

Jmeter二次开发实操问题汇总(JDK问题,jar包问题)

前提 之前写过一篇文章:https://qa-lsq.blog.csdn.net/article/details/119782694 只是简单尝试了一下生成一个随机手机号码。 但是如果在工作中一个实际场景要用的二次开发,可能会遇到一些问题。 比如这样一个场景: Mobile或者前端调用部分…

【数据结构】堆的实现及TOP-K问题

文章目录 前言1. 堆的概念及结构2. 堆的实现2.1 堆向上调整算法2.2 堆向下调整算法2.3 堆的创建2.4 堆的删除2.5 堆的常用接口代码实现 3. 堆的应用TOP-K问题 前言 在正式讲堆之前,我们要先来讲一下二叉树的顺序结构: 普通的二叉树是不适合用数组来存储…

Python 实现给 pdf 文件自动识别标题并增添大纲

一、背景: 客户方提供过来一个开放平台的pdf文档,文档里有几十个接口,没有大纲和目录可以定位到具体内容,了解整体的API功能,观看体验极度差劲,所以想使用Python代码自动解析pdf文档,给文档增添…

AntDB设计之CheckPoint——引言与功能简述

1.引言 数据库服务能力提升是一项系统性的工程,在不同的应用场景下,用户对于数据库各项能力的关注点也不同,如:读写延迟、吞吐量、扩展性、可靠性、可用性等等。国内不少数据库系统通过系统架构优化、硬件设备升级等方式&#xf…

【单片机 TB作品】节拍器,电子音乐节拍器,51单片机,Proteus仿真

节拍器的使用可以使练琴者正确掌握乐曲的速度,从而使音 乐练习达到事半功倍的效果。本课题基于单片机设计具有声光晋 示的电子乐器节拍器,充分利用单片机的定时和中断系统,通过 C语言程序设计,控制外部相关硬件电路,实现对音乐速,度 40~120次/分钟范围内连续可调,节拍114、 2/4…

Redis命令---Hash(哈希)篇 (超全)

目录 1.Redis Hmset 命令 - 同时将多个 field-value (域-值)对设置到哈希表 key 中。简介语法可用版本: > 2.0.0返回值: 如果命令执行成功,返回 OK 。 示例 2.Redis Hmget 命令 - 获取所有给定字段的值简介语法可用版本: > 2.0.0返回值: 一个包含多个给定字段…

Simple Facebook Sign-In

简单的Facebook登录为Android、iOS、Windows、Mac、通用Windows平台(UWP)和Unity制作的WebGL应用程序提供了基于OAuth 2.0的Facebook登录。 优点: ● 跨平台游戏和应用程序的跨平台用户身份验证 ● 无插件,无第三方库,无依赖● 对建筑规模没有影响 ● 客户端-服务器应…

PMP证书可以挂靠吗?

PMP证书不是国内的证书,挂靠不了呀,想挂靠,可以考软考/一建等,里面也有项目管理相关的证书。 PMP证书虽然不能挂靠,但是用处还是很大的,例如提升个人能力、薪资待遇,还有持证可享一些城市的福利…

kafka容灾演练的方案

背景 kafka可以通过MirrorMaker工具把集群的数据从一个集群同步到另一个集群,通过在另一个数据中心创建灾备集群的方式可以做到容灾的效果,但是如果我们不通过如此重量级的工具也想达到容灾演练的目的,可以怎么做呢 kafka简单容灾实现 当原kafka集群发…

计算机网络--作业

作业一 1、比较电路交换、报文交换和分组报文交换优缺点 电路交换 电路交换是以电路连接为目的的交换方式,通信之前要在通信双方之间建立一条被双方独占的物理通道(由通信双方之间的交换设备和链路逐段连接而成)。 优点: ①由于…

MyBatis学习一:快速入门

前言 公司要求没办法,前端也要了解一下后端知识,这里记录一下自己的学习 学习教程:黑马mybatis教程全套视频教程,2天Mybatis框架从入门到精通 文档: https://mybatis.net.cn/index.html MyBatis 快速入门&#xf…

HackTheBox - Medium - Linux - Bagel

Bagel 今天我开始了《Red Team Development and Operations A Practical Guide》的学习,保持学习,后面差不多到时机后就学CRTOⅡ Bagel 是一款中等难度的 Linux 机器,其特点是电子商店容易受到路径遍历攻击,通过该攻击可以获取应…

Tinker 环境下数据表的用法

如果我们要自己手动创建一个模型文件,最简单的方式是通过 make:model 来创建。 php artisan make:model Article 删除模型文件 rm app/Models/Article.php 创建模型的同时顺便创建数据库迁移 php artisan make:model Article -m Eloquent 表命名约定 在该文件中&am…

k8s中实现pod自动扩缩容

一、k8s应用自动扩缩容概述 1)背景: 在实际的业务场景中,我们经常会遇到某个服务需要扩容的场景(例如:测试对服务压测、电商平台秒杀、大促活动、或由于资源紧张、工作负载降低等都需要对服务实例数进行扩缩容操作&…

SD-WAN组网方式详解

企业网络的演进势不可挡,对于高效、可靠的网络连接需求日益增加。SD-WAN(软件定义广域网)作为一项创新的网络技术,备受企业青睐并得到广泛应用。SD-WAN提供了多种灵活的组网方式,以满足企业多样化的需求和不同的网络环…