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. 微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——下篇

    一.独立验证器 我上篇中我将AndCompositeValidator和OrCompositeValidator归为独立验证器,这2个验证器主要是为了第一类验证服务,可以进行多种验证组合在一起进行复杂 ...

  2. centos系统服务管理

    系统服务管理工具: chkconfig(所有linux发行版都有),用法很简单,如下: usage:   chkconfig --list [name]          chkconfig --ad ...

  3. php 通过类名获取类的文件地址

    $reflector = new ReflectionClass("Child"); $fn = $reflector->getFileName(); return dirn ...

  4. 转:windbg常用命令

  5. mysql 如何给root用户设置密码

    用root 进入mysql后mysql>set password =password('你的密码');mysql>flush privileges;

  6. hibernate自连接--典型的oracle自带emp实现

    用S2SH三大框架整合,用了oracle自带的表emp,实现了自连接. pojo类: public class Emp implements java.io.Serializable { // Fie ...

  7. 【最短路径】 SPFA算法

    上一期介绍到了SPFA算法,只是一笔带过,这一期让我们详细的介绍一下SPFA. 1 SPFA原理介绍 SPFA算法和dijkstra算法特别像,总感觉自己讲的不行,同学说我的博客很辣鸡,推荐一个视频讲 ...

  8. Mybatis 使用Mybatis时实体类属性名和表中的字段名不一致

    开发中,实体类中的属性名和对应的表中的字段名不一定都是完全相同的,这样可能会导致用实体类接收返回的结果时导致查询到的结果无法映射到实体类的属性中,那么该如何解决这种字段名和实体类属性名不相同的冲突呢? ...

  9. Linux基础系列-Day1

    Linux发展简史 Unix:1969年由美国电话电报公司(AT&T)贝尔实验室的两个工程师所创造的操作系统,它允许计算机同时处理多用户和程序. BSD:重要的Unix分支,1977年由加州大 ...

  10. Python的替换函数——strip(),replace()和re.sub()(转)

    原文地址:http://blog.csdn.net/zcmlimi/article/details/47709049 在Python中常用的三个"替换"函数是strip(),rep ...