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

前言

本文将分享在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.hqwc.cn/news/316570.html

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

相关文章

部署上传漏洞的靶场环境upload-labs

1、工具介绍 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 upload-labs靶场开源地址::https://…

automatic matting 抠图算法汇总

电商图抠图算法,主要还是关注商品图抠图,内部也有自研的抠图算法,下面主要关注开源抠图算法。一般来说关注trimap-free的方法,即一步抠图,业务上也是trimap-free更加友好,当然业务流上可以先计算trimap&…

Docker 安装Mysql

目录 Docker Mysql安装 ✨安装和配置mysql ✨远程连接mysql远程连接 MySQL 是世界上最流行的开源数据库。根据 DB-Engines的调查数据,MySQL 是第二受欢迎的数据库,仅次于 Oracle 数据库。MySQL在过去由于性能高、成本低、可靠性好,已经成…

一、HTML5简介

一、简介 超文本标记语言&#xff08;英语&#xff1a;HyperText Markup Language&#xff0c;简称&#xff1a;HTML&#xff09;是一种用于创建网页的标准标记语言。可以使用 HTML 来建立自己的 WEB 站点&#xff0c;HTML 运行在浏览器上&#xff0c;由浏览器来解析。 <!…

SpringBoot: 通过MyBatis访问ClickHouse

一、ClickHouse中建表&#xff0c;添加数据 二、SpringBoot项目添加mybatis、clickhouse、druid相关依赖 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.6</version></dependency>…

天线的相关概念

天线&#xff1a;发射和接收电磁波的装置 1. 辐射强度 发射&#xff08;接收&#xff09;能量在空间中的角分布&#xff08;单位立体角中的功率&#xff09;。 2. 辐射功率 通过所有方向辐射出去的总功率。 3. 辐射电阻 对峰值电流&#xff0c;辐射电阻满足 4. 方向性 辐射…

Spark一:Spark介绍、技术栈与运行模式

一、Spark简介 Spark官网 https://spark.apache.org/ 1.1 Spark是什么 Spark是一种通用的大数据计算框架&#xff0c;是基于RDD(弹性分布式数据集)的一种计算模型。 是一种由 Scala 语言开发的快速、通用、可扩展的大数据分析引擎。 1.2 Spark作用 中间结果输出 Spark的Jo…

Android--Jetpack--WorkManager详解

2024已经到来&#xff0c;愿你安睡时&#xff0c;山河入梦。愿你醒来时&#xff0c;满目春风。愿你欢笑时&#xff0c;始终如一。愿你行进时&#xff0c;前程似锦&#xff0c;坦荡从容。 编程语言的未来&#xff1f; 目录 一&#xff0c;定义 二&#xff0c;特点 三&#xff0c…

Kubernetes 集群搭建(新人白嫖青云服务器) 一个master节点+两个工作节点

文章目录 1&#xff0c; 购买青云服务器&#xff08;白嫖&#xff09;2&#xff0c;创建 VPC3&#xff0c;连接测试4&#xff0c;安装 docker4.1&#xff0c;安装docker 20.10.74.2&#xff0c;配置加速镜像 5&#xff0c;安装 Kubernetes5.1&#xff0c;要求5.2&#xff0c;设…

【算法】一维、二维前缀和 解决算法题(C++)

文章目录 1. 前缀和算法 介绍2. 一维前缀和 模板引入DP34【模板】前缀和 3. 利用一维前缀和 解题724.寻找数组的中心下标238.除自身以外数组的乘积560.和为K的子数组974.和可被K整除的子数组525.连续数组 二维前缀和 模板1314.矩阵区域和 1. 前缀和算法 介绍 前缀和算法 用于高…

opencv期末练习题(2)附带解析

图像插值与缩放 %matplotlib inline import cv2 import matplotlib.pyplot as plt def imshow(img,grayFalse,bgr_modeFalse):if gray:img cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)plt.imshow(img,cmap"gray")else:if not bgr_mode:img cv2.cvtColor(img,cv2.COLOR_B…

图像识别快速实现

文本的跑通了&#xff0c;接下来玩玩图片场景 1. 引入模型 再另起类test_qdrant_img.py&#xff0c;转化图片用到的模型和文本不太一样&#xff0c;我们这里使用ResNet-50模型 import unittest from qdrant_client.http.models import Distance, VectorParams from qdrant_cl…