失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Windows使用bat脚本上传文件到Linux(免密上传)

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

时间:2023-09-20 18:33:07

相关推荐

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

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

一、使用OpenSSH

bat内容在:脚本内容

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

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

把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

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

执行脚本

二、使用FTP传输

1.单个文件

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

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

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

如需上传文件并打印日志跳转此链接:

使用bat脚本上传文件至Linux并打印日志

如果觉得《Windows使用bat脚本上传文件到Linux(免密上传)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。