栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

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

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

bat内容在:脚本内容

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

  2. 打开命令行(cmd),执行ssh-keygen,全部回车,生成本机的公钥和私钥,命令执行玩之后会提示生成文件的存储路径,我的在C:Usersyu_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 off

set localPath=D:tempdemo.txt

set host=192.168.31.123
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.up

pause

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

@echo off

set localPath=D:temp

set host=192.168.31.123
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 prompt off>>ftp.up
echo lcd %localPath%>>ftp.up
echo *.txt>>ftp.up

for /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 /q

pause
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/456810.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号