在工作中接到了使用bat命令定时上传文件到Linux的需求,总是需要手动输入密码挺麻烦,搞了两个比较简单的免密上传的方法。一、使用OpenSSH。二、使用FTP

一、使用OpenSSH

bat内容在:脚本内容

  1. 如果是win10系统的话可以直接在 设置–>应用–>应用和功能–>管理可选项–>添加功能 搜索OpenSSH client,然后安装。没有的话可以自行下载:https://www.openssh.com/

  2. 打开命令行(cmd),执行ssh-keygen,全部回车,生成本机的公钥和私钥,命令执行玩之后会提示生成文件的存储路径,我的在C:\Users\yu_llin\.ssh\路径下。

  3. 把Windows生成的id_rsa.pub文件改个名(id_rsa_temp.pub)然后复制到Linux系统上公钥私钥存储路径下 /.ssh/ 路径下(.ssh为隐藏文件,如果没有的话需要在Linux上安装ssh)
    SSH 服务器的安装:sudo apt-get install openssh-server
    SSH 客户端的安装:sudo apt-get install openssh-client
    生成秘钥:ssh-keygen -t rsa

  4. 将复制过来的文件内容追加到authorized_keys里,如果改文件不存在,自行创建一个就行,路径在 /.ssh/ 下(追加命令:cat id_rsa_temp.pub>>authorized_keys

  5. 执行脚本

二、使用FTP传输

1.单个文件

@echo offset localPath=D:\temp\demo.txtset host=***.***.**.**
set prot=22
set username=root
set password=root
set remotePath=/temp/echo open %host% %prot%>ftp.up
echo %username%>>ftp.up
echo %password%>>ftp.up
echo cd %remotePath%>ftp.up
echo binary>>ftp.up
echo put %localPath%>>ftp.up
echo bye>>ftp.up
ftp -s:ftp.uppause

2.全量文件上传(以.txt文件为例,可根据需要自行修改)

@echo offset localPath=D:\temp\set host=***.***.**.**
set prot=22
set username=root
set password=root
set remotePath=/temp/echo open %host% %prot%>ftp.up
echo %username%>>ftp.up
echo %password%>>ftp.up
echo cd %remotePath%>ftp.up
echo binary>>ftp.upecho prompt off>>ftp.up
echo lcd %localPath%>>ftp.up
echo *.txt>>ftp.upfor /d %%i in (*) do (
echo cd %remotePath%>>ftp.up
echo mikdir %%i>>ftp.up
echo cd %remotePath%%%i>>ftp.up
echo lcd %localPath%%%i>>ftp.up
echo mput *.txt>>ftp.up
)
echo bye>>ftp.up
ftp -s:ftp.up
del ftp.up /qpause

如需上传文件并打印日志跳转此链接:
使用bat脚本上传文件至Linux并打印日志

Windows使用bat脚本上传文件到Linux(免密上传)相关推荐

  1. python上传文件到linux服务器_python上传大文件到服务器报错

    项目需要,在mac上将打包好的文件(四五百兆)自动上传到web后台,用了两种方式上传,都报了类似的错误,在windows和linux上测试不会报错,但是到了mac打包机上就会报错: ①第一种报错: T ...

  2. linux上tftp上传文件失败,Linux下tftp上传文件失败的几条原因

    1.  Error code 0: Permission denied 主目录没有写权限, 可以 chmod  0777  /var/lib/tftpboot 2.Error code 1: File ...

  3. windows下BAT脚本ftp上传文件

    windows下BAT脚本ftp上传文件 若有需要请替换ftpip.ftpuser.ftppasswd 为自己ftp服务器地.用户名以及密码. @echo off rem 获取系统时间的星期值 rem ...

  4. window通过bat脚本调用WinSCP上传文件到linux服务器

    2022-08-15 最近在使用 WinSCP put 文件夹时,发现很多大的临时文件,隐藏文件都上传了上去,导致上传时长超长,于是希望对上传的文件进行过滤,具体的指令可参考如下链接: put com ...

  5. 使用bat脚本上传文件到Linux服务器

    前言 本文中运行环境为Win10, 脚本类型为bat脚本, 上传文件使用WinScp客户端进行上传, 下面开始教程 一. 安装WinScp客户端 WinScp客户端官方链接: https://wins ...

  6. window linux上传文件命令,windows通过cmd命令行使用sftp上传文件至linux

    一问:sftp是什么? sftp 是一个交互式文件传输程式.它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性.下边就简单介绍一下如何远程连接主机,进行文件的上传和下载,以及一些相关操作. ...

  7. Windows 通过 SecureCRT 8.x 上传文件到Linux服务器

    转载自  Windows 通过 SecureCRT 8.x 上传文件到Linux服务器 1.SecureCRT 连接 Linux 服务器,这一步操作简单: 2.连接并登录成功后,直接在连接成功的页签上 ...

  8. sftp方式从windows上传文件到Linux服务器

    今天我一直用scp想实现从windows上传文件到Linux服务器,但是鼓捣了半天也没有实现.后来查资料才发现,scp实现文件的上传和下载貌似只能在Linux和Linux之间实现.(欢迎指正不对的地方 ...

  9. WINDOWS上传文件到LINUX中文乱码

    现象:WINDOWS上传文件到LINUX后,中文文件名乱码,中文内容乱码 解决:首先考虑到的应该是字符编码不一致导致,其次再看是否没安装中文包 1:检查是否安装convmv工具 [oracle@res ...

最新文章

  1. Centos7多内核情况下修改默认启动内核方法
  2. 剑指Offer:反转链表【24】
  3. mac 连接hbase的图形化界面_MAC安装Hbase以及Hbase基本命令
  4. 《Java高级程序设计》期末作业【2】-进度安排
  5. android 半透明色值_Android 色值转换成透明度色值
  6. 电路 晶振频率_都说晶振是电路的心脏,你真的了解它吗?
  7. 两张图告诉你tnsnames.ora 的配置详解
  8. python基础教程廖雪峰云-为什么看不懂廖雪峰的Python学习教程?
  9. 泊松图像融合算法代码实现_部分多曝光图像融合算法(含少数通用图像融合算法)代码下载链接...
  10. Lightroom Classic mac版怎样创建全景图和HDR全景图?
  11. 【电脑】VirtualBox 安装 Win98 写网页
  12. Java去除使用富文本编辑器时自动生成的标签
  13. maxwell_电机气隙磁密与用matlab进行fft谐波分析,基于Maxwell的电机气隙磁场谐波分析程序...
  14. 对 a = [lambda : x for x in range(3)] 的理解
  15. 好玩的Java塔防游戏,根本停不下来!五款经典又好玩的塔防游戏推荐
  16. 关于使用winfrom程序调用命令控制台
  17. Excel如何利用函数删除数据中空格
  18. 数理统计(matlab实现)
  19. php 银行支付通道_接口--php对接农行网上支付平台-b2b
  20. 被尘封的故事技能点bug_12个人闯进失落的世界,发现了尘封盛世的秘密

热门文章

  1. 师兄新作!Cell Stem Cell背靠背 | 吴军等建立了一种全新的全能干细胞
  2. ChatGPT功能介绍 ChatGPT都能做什么
  3. 2022年网络安全六大趋势预测
  4. 【DGL分享直播预告】Amazon AI Lab王老板空降直播间带来精彩图深度学习分享
  5. 大数据方向学习方向和目标
  6. 不定代词all/any/none的区别
  7. C语言程序设计Bjarne特别版,C语言程序设计(2013深色背景).ppt
  8. 解决实例化Servlet类XXX异常
  9. [Go语言]我的性能我做主(1)
  10. windows下创建python虚拟环境