admin 管理员组文章数量: 887016
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、Windows主机上的配置
- 1.检查windows客户机powershell版本
- 2.下载并安装Microsoft .NET Framework 4.5和powershell5.1(如果系统中的版本大于或者等于此版本可以不用执行这一步操作)
- 3、升级完成后检查powershell版本
- 4、查看powershell执行策略(如果不是RemoteSigned则修改执行策略)
- 5、配置winrm service并启动服务(注意需要使用管理员身份启动cmd)
- 6、查看winrm service启动监听状态
- 7、修改winrm配置,启用远程连接认证
- 8、添加防火墙信任规则,允许5985端口通过
- 二、Centos部分(Ansible管理主机)
- 依赖python3环境(没有Python3以上的环境才需要安装)
- 1、安装PIP命令
- 2、安装pywinrm插件
- 3、pip安装ansible
- 4、配置文件hosts
- 5、验证与windows主机的通信
- 部署时的坑
- linux与windows建立信任
前言
使用Centos7去管理公司的多台windows主机,使windows上的文件可以批量更新
一、Windows主机上的配置
1.检查windows客户机powershell版本
输入powershell命令进入powershell模式
输入get-host或者$PSVersionTable命令查看powershell版本其中win7、window server 2008的默认powershell版本为powershell 4,windows server2012默认版本为 4,window
10默认版本为5.1。
2.下载并安装Microsoft .NET Framework 4.5和powershell5.1(如果系统中的版本大于或者等于此版本可以不用执行这一步操作)
Microsoft .NET Framework 4.5下载地址:
https://download.microsoft/download/B/A/4/BA4A7E71-2906-4B2D-A0E1-80CF16844F5F/dotNetFx45_Full_setup.exe
powershell5.1下载地址:
https://www.filehorse/download-windows-powershell-64/37429/
升级powershell后操作系统需重启。
3、升级完成后检查powershell版本
powershell 命令进入 powershell 模式
get-host 或者 $PSVersionTable 命令查看 powershell 版本
4、查看powershell执行策略(如果不是RemoteSigned则修改执行策略)
使用 get-executionpolicy 查看powershell执行策略
使用 set-executionpolicy remotesigned 命令修改策略
5、配置winrm service并启动服务(注意需要使用管理员身份启动cmd)
使用 winrm quickconfig 命令启动winrm服务
有两个提示[y/n]选择y就可以了
6、查看winrm service启动监听状态
使用 winrm enumerate winrm/config/listener 命令启动监听服务
7、修改winrm配置,启用远程连接认证
winrm set winrm/config/service/auth ‘@{Basic=“true”}’
winrm set winrm/config/service ‘@{AllowUnencrypted=“true”}’
8、添加防火墙信任规则,允许5985端口通过
入站规则 -->新建规则 -->端口 -->TCP的5985 -->下一步 -->下一步
二、Centos部分(Ansible管理主机)
重点:千万不要yum安装。选择pip安装,或者二进制包安装。否则,即便安装了pywinrm插件也无法管理Windows主机。
依赖python3环境(没有Python3以上的环境才需要安装)
下载源码
wget https://www.python/ftp/python/3.7.0/Python-3.7.0.tgz
解压缩
tar -zxvf Python-3.7.0.tgz
依次执行下面命令进行手动编译
cd Python-3.7.0
./configure prefix=/usr/local/python37
make && make install
添加环境变量( /etc/profile )
export PYTHON_HOME=/usr/local/python37
export PATH=$PYTHON_HOME/bin:$PATH
读取文件使环境变量生效
source /etc/profile
测试python3.7
python3.7 -V
1、安装PIP命令
从官网下载pip包到本地,官网链接:https://pypi/project/pip/#files
wget https://files.pythonhosted/packages/8e/76/66066b7bc71817238924c7e4b448abdb17eb0c92d645769c223f9ace478f/pip-20.0.2.tar.gz
解压
tar -zxvf pip-20.0.2.tar.gz -C /usr/local
安装
cd /usr/local/pip-20.0.2
python3 setup.py install
2、安装pywinrm插件
pip install pywinrm
3、pip安装ansible
pip install ansible
4、配置文件hosts
配置文件默认路径:
/etc/ansible/hosts
,在此配置文件尾巴追加以下信息,ansible_ssh_user是Windows Server的用户名,ansible_ssh_pass是Windows Server的密码
[all:vars]
ansible_ssh_user=administrator
ansible_ssh_pass=123123
ansible_ssh_port=5985
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore
[windows]
192.168.9.49
5、验证与windows主机的通信
ansible windows -m win_ping
部署时的坑
一开始从网上查资料是用yum安装的ansible,这样安装的ansible是无法控制windows主机,后面找资料找到ansible需要用pip安装或者离线安装的方法才可以识别到winrm模块。
linux与windows建立信任
windows:命令行进入安装路径,输入:ssh-keygen -t rsa;
windows:其中秘钥输出路径设置为C:\Program Files\OpenSSH\home\当前用户名.ssh,其余全部直接回车;
windows:C:\Program Files\OpenSSH\home\当前用户名.ssh此目录下会生成id_rsa和id_rsa.pub;
windows:拷贝一份id_rsa.pub重命名为authorized_keys;
linux: 进入/root/.ssh,输入:ssh-keygen -t rsa,目录下生成id_rsa和id_rsa.pub;
linux:拷贝一份id_rsa.pub重命名为authorized_keys(在/root/.ssh目录下执行cat id_rsa.pub > authorized_keys);
linux:将windows拷贝来的文件追加至authorized_keys文件中,cat /windows公钥拷贝文件所在目录/id_rsa.pub >> authorized_keys;
windows:将linux的公钥id_rsa.pub文件拷贝至windows,打开C:\Program Files\OpenSSH\home\当前用户名.ssh\authorized_keys文件,将linux的公钥文件的内容直接紧接着该文件本身内容最后复制粘贴在authorized_keys中,不要自行增加多余的换行符空格等;
此时双向scp命令都可以完成免密登录了。
版权声明:本文标题:Centos7上的Ansible管理Windows主机的部署 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1725013509h849644.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论