Linux远程执行Windows机器任务

    近期测试人员提出需求需要在Linux下调用Windows系统下的cmd的命令完成自动构建和测试并生成测试报告。

环境:

Windows Server2012 R2        ip:172.16.1.12

CentOS 7.2        ip:xxx.xxx.xxx.xxx

 

1、安装Cygwin

软件下载地址:https://cygwin.com/install.html

下载到Windows系统后,双击进行安装

选择或添加可用的镜像地址(阿里云镜像)

阿里云镜像站官方帮助说明

新增地址

2、安装SSH

打开Cygwin Setup-Select Packages程序,搜索open

勾选openssh并选择一个可安装的版本,然后点击下一步——>下一步

3、在Cygwin里配置OpenSSH

使用管理员方式打开Cygwin,在打开的终端输入ssh-host-config

询问是否使用严格模式,输入no

询问是否创建新的本地sshd账户,输入yes

询问是否以服务的方式安装sshd,输入yes

输入守护进程的值来运行Cygwin,直接回车

创建cyg_server用户账号和密码

 

4、SSH的用户配置

在打开的终端输入ssh-user-config

询问是否一个SSH2 RSA身份文件,输入yes

输入密码,如果没有密码则为空,直接回车

询问要使用此标识登录到计算机吗,输入yes

询问是否创建SSH2 ECDSA身份文件,输入no

询问是否创建SSH1 RSA身份文件,输入yes

 

5、配置密钥方式登录

在Windows终端查看当前的用户名

终端执行ssh-copy-id发送本机的公钥到Windows服务器

 

6、启动服务

在打开的终端执行cygrunsrv.exe --start sshd或者在系统服务中找到CYGWIN sshd并启动

最后在防火墙配置添加入站规则端口例外或者关闭防火墙

 

7、测试连接使用

在Linux上执行ssh免密钥登录

一条命令执行想要的命令(中文乱码暂不处理)

至此,Linux免密钥方式通过ssh远程执行Windows cmd命令完成,开始使用吧

Linux远程执行Windows机器任务的更多相关文章

  1. Linux远程执行shell命令

    Linux远程执行shell命令   在Linux系统中,我们经常想在A机器上,执行B机器上的SHELL命令. 下面这种方案,是一种流行可靠的方案. 1.SSH无密码登录 # 本地服务器执行(A机器) ...

  2. Ubuntu16.04下使用rdesktop命令远程连接windows机器

    前段时间在本机安装了ubuntu16.04桌面版,后来需要远程连接一台win10系统的跳转机,下面介绍使用rdesktop命令远程连接windows机器的操作记录:1)首先安装rdesktop工具 k ...

  3. Linux远程连接Windows桌面

    Ubuntu对初始用户的界面友好是有目共睹的:Fedora一向以创新.傲慢的姿态示人.其实,对于两者,我虽然更倾向于选择Fedora,但不可避免地会两者比较,发现Ubuntu更加人性化,这点是经过很多 ...

  4. java通过telnet远程至windows机器执行dos命令

    准备工作,远程windows机器中开启telnet服务,将远程登录用户添加至telnetClients用户组 核心代码: import java.io.IOException; import java ...

  5. 如何用linux远程登录windows计算机

    大家可能试过用windows远程登录另一个windows pc机,今天大家将会学到如何用 linux远程登录你的windows系统. 首先大家要做到得救是将自己linux和windows操作机的IP地 ...

  6. linux远程执行命令

    经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 (1)命令行执行登录并且在目标服务器上执行命令 ssh user@ ...

  7. Kali Linux远程连接Windows服务器

    前言: 为了在Kali上远程连接Windows系统的服务器我们需要安装两个工具,rdesktop和tsclient.另外,我们从主机服务商那里购买的Windows操作系统的服务器都是默认开启了远程连接 ...

  8. Linux远程执行Shell命令或脚本

    ## 远程执行shell命令 ssh [user]@[server] '[command]' # eg. ssh root@192.168.1.1 'uptime' ## 远程执行本地shell脚本 ...

  9. Linux上面执行 Windows 命令(比如 重启服务)的简单方法

    1. 首先 基础是:openssh 还有 expect的包 2. 方法 安装openssh 转帖来自: https://www.jianshu.com/p/6e5bc39d386e 最近项目在搞Jen ...

随机推荐

  1. AC日记——[POI2008]BLO-Blockade 洛谷 [POI2008]BLO-Blockade

    [POI2008]BLO-Blockade 思路: tarjan: 代码: #include <bits/stdc++.h> using namespace std; #define ma ...

  2. 深入理解String.intern()方法

    首先进入intern()的源码中, 首先说一点:1.7后的JVM为String在方法区中开辟了一个字符串常量池,如果一个String()不是new()出来的,都将在常量池中拿字符. 注释翻译过来就是, ...

  3. 跨域请求方式之Jsonp形式

    在浏览器端才有跨域安全限制一说,而在服务器端是没有跨域安全限制的. 在两个异构系统(开发语言不同)之间达到资源共享就需要发起一个跨域请求. 而浏览器的同源策略却限制了从一个源头的文档资源或脚本资源与来 ...

  4. android ListView 在初始化时多次调用getView()原因分析

    今天在做一个功能:在初始化ListView时,把第一行背景置为黄色,同时保存第一行对象,用于在点击其他行时将该行重新置为白色. if(position==0){ convertView.setBack ...

  5. android:sharedUserId

    <manifest> syntax: <manifest xmlns:android="http://schemas.android.com/apk/res/android ...

  6. JS内存管理与垃圾回收

    内存分配 var n = 374; // 为数字分配内存 var s = 'sessionstack'; // 为字符串分配内存 var o = { a: 1, b: null }; // 为对象及其 ...

  7. SpringMVC中为什么要配置Listener和Servlet

    一直以来,我们使用SpringMVC的时候习惯性都配置一个ContextLoaderListener,虽然曾经有过疑问,配置的这个监听器和Servlet究竟做了什么,但也没深究. 要说任何Web框架都 ...

  8. BZOJ 2212 [Poi2011]Tree Rotations(线段树合并)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2212 [题目大意] 给出一棵二叉树,每个叶节点上有一个权值,现在可以任意交换左右儿子, ...

  9. BZOJ 1123 [POI2008]BLO(Tarjan算法)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1123 [题目大意] Byteotia城市有n个towns,m条双向roads. 每条r ...

  10. 【贪心】POJ2393-Yogurt Factory

    [思路] 水题,没什么好说的.每周为之后多生产的牛奶可以看作之后才生产的.每周最少生产单价=min(上周生产的最小单价+储存单价,本周生产单价).注意ans是long long,否则会WA. #inc ...