ansible SSH公開鍵の一括配置を実現
2637 ワード
学習覚書、コードブロック付き、今後の作業に便利ssh公開鍵の一括配置
ansible’s module: authorized_key ansibleインストール方式無視authorized_を直接使用keysモジュールはssh-copy-id xx->yes->パスワードの入力の煩雑な流れを減らすことができ、みんなの仕事量を大幅に簡素化します.
AD-Hocの配置はまず管理クラスタに対して統一アカウントを創立して、本文はrootを例にして、企業の安全に基づいて、他のsudo可能なユーザーを設定することができて、大同小異:username:root passwd:root port:22次の例は1本のデータだけを例にして、実際の中で下のデータは百本以上で、早めにフォーマットに従って配置を書く必要があります:
ansibleのhost_を閉じるkey_checking:
管理対象機器がsshプロトコルで接続できるかどうかをテストします.
問題がないことがわかりますauthorized_keyモジュールは一括プッシュタスクを完了します.
テスト結果:ssh 192.168.240.220はパスワードを入力する必要がないことを発見しました.
PlayBookはansible test-m pingまで配備され、現在のディレクトリの下でssh_を編集します.push.yamlファイル:
実行結果は次のとおりです.
テスト結果:ssh 192.168.240.220はパスワードを入力する必要がないことを発見しました.
ansible’s module: authorized_key ansibleインストール方式無視authorized_を直接使用keysモジュールはssh-copy-id xx->yes->パスワードの入力の煩雑な流れを減らすことができ、みんなの仕事量を大幅に簡素化します.
AD-Hocの配置はまず管理クラスタに対して統一アカウントを創立して、本文はrootを例にして、企業の安全に基づいて、他のsudo可能なユーザーを設定することができて、大同小異:username:root passwd:root port:22次の例は1本のデータだけを例にして、実際の中で下のデータは百本以上で、早めにフォーマットに従って配置を書く必要があります:
#cat >> /etc/ansible/hosts [test]
>192.168.240.20 ansible_ssh_user="root" ansible_ssh_pass="root" ansible_ssh_port=22
>EOF
ansibleのhost_を閉じるkey_checking:
#sed -ri '/^#host_key/c\host_key_checking=false/' /etc/ansible/ansible.cfg
管理対象機器がsshプロトコルで接続できるかどうかをテストします.
#ansible test -m ping
192.168.240.20 | SUCCESS => {
"changed": false,
"ping": "pong"
}
問題がないことがわかりますauthorized_keyモジュールは一括プッシュタスクを完了します.
#ansible test -m authorized_key -a "user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'"
192.168.240.20 | CHANGED => {
"changed": true,
"comment": null,
"exclusive": false,
"follow": false,
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQA…………
"key_options": null,
"keyfile": "/root/.ssh/authorized_keys",
"manage_dir": true,
"path": null,
"state": "present",
"unique": false,
"user": "root",
"validate_certs": true
}
テスト結果:ssh 192.168.240.220はパスワードを入力する必要がないことを発見しました.
PlayBookはansible test-m pingまで配備され、現在のディレクトリの下でssh_を編集します.push.yamlファイル:
# ,
#script_name:ssh_push.yaml
- hosts: test
user: root
tasks:
- name: ssh-copy
authorized_key:
user: root
key: "{{ lookup('file','/root/.ssh/id_rsa.pub') }}"
...
実行結果は次のとおりです.
# ansible-playbook ssh_push.yaml
PLAY [test] ********************************************************************************
TASK [Gathering Facts] *********************************************************************
ok: [192.168.240.20]
TASK [ssh-copy] ****************************************************************************
changed: [192.168.240.20]
PLAY RECAP *********************************************************************************
192.168.240.20 : ok=2 changed=1 unreachable=0 failed=0
テスト結果:ssh 192.168.240.220はパスワードを入力する必要がないことを発見しました.