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命令完成,开始使用吧