Centos7 上の Ansible は、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.com/download/B/A/4/BA4A7E71-2906-4B2D-A0E1-80CF16844F5F/dotNetFx45_Full_setup.exe

powershell5.1 ダウンロードアドレス:

https://www.filehorse.com/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 サービスを構成し、サービスを開始します (cmd は管理者として開始する必要があることに注意してください)。

Winrm サービスを開始するには、winrm quickconfig コマンドを使用します。y を
選択する [y/n] プロンプトが 2 つあります。

6. winrm サービスの開始監視ステータスを表示する

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 --> 次へ --> 次へ

2. Centos 部分 (Ansible 管理ホスト)

重要: yum をインストールしないでください。pip インストールまたはバイナリ パッケージ インストールを選択します。そうしないと、pywinrm プラグインがインストールされていても、Windows ホストを管理できません。

python3環境に依存する(Python3以上の環境がない場合のみインストールが必要)

ソースコードをダウンロード

wget https://www.python.org/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 コマンドのインストール

公式 Web サイトからローカルの公式 Web サイト リンク (https://pypi.org/project/pip/#files) に pip パッケージをダウンロードします。

wget https://files.pythonhosted.org/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 インストール pywinrm

3. pip install ansible

ピップインストールアンシブル

4. 構成ファイルのホスト

構成ファイルのデフォルト パス: /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 ホストとの通信を確認する

アンシブルウィンドウ -m win_ping


展開中のピット

はじめにネットで情報を調べてyumでansibleをインストールしたのですが、この方法でインストールしたansibleではwindowsホストを制御できず、情報を探してansibleを見つけたら、pipインストールかオフラインインストールでwinrmを認識する必要があります。モジュール。

Linux と Windows の間に信頼を構築する

Windows: コマンド ラインからインストール パスを入力し、次のように入力します: ssh-keygen -t rsa;
Windows: 秘密鍵の出力パスを C:\Program Files\OpenSSH\home\current user name.ssh に設定し、Enter キーを押してすべてのrest; windows
: C:\Program Files\OpenSSH\home\current user name.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 directory);
linux: change windows コピーしたファイルをauthorized_keysファイルに追加します, cat /windows 公開鍵のコピーファイルがあるディレクトリ/id_rsa.pub >>authorized_keys; windows:
Linuxの公開鍵id_rsa.pubファイルをC:\Program Files\OpenSSH\home\現在のユーザー名.ssh\authorized_keys ファイルを開き、Linux 公開鍵ファイルの内容をコピーして、authorized_keys 内のファイル自体の内容のすぐ隣に貼り付けます。余分な行を追加しないでください。区切りとスペースは自分で; このとき双方向の scp コマンドは
パスワードなしでログインできます。

おすすめ

転載: blog.csdn.net/weixin_52906737/article/details/114713994