ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Ansible: ssh key 자동 배포 (2023년 1월 11일 Test)
    공부합시다!/Ansible 2022. 7. 7. 10:04
    728x90

    Ansible은 ssh를 이용해서 통신을 합니다.

    그럼 완전 자동화를 위해서는 ssh 통신에서 패스워드를 사용하는 방법을 지향하고

    ssh를 암호화키를 생성해서 통신하는 방법이 훨 안전하고 편리합니다.

     

    해당 방법은 일단 ssh-key를 생성 후 각 Node에 Authorized_key로 접속 대상의 사용자 홈디렉토리에 배포해야 합니다.

    이 방법을 자동화 해보겠습니다.

    1. ssh. yml 파일 생성

     1.2. ssh.yml code

     

    ---
    - name: ssh deploy
      hosts: all
      tasks:
        - name: create key
          connection: local
          command: "ssh-keygen -b 2048 -t rsa -f ~/.ssh/id_rsa -q -N ''"
          ignore_errors: yes
          run_once: true
        
        - name: push key
          authorized_key:
            user: root
            state: present
            key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
    
    #실행시 반드시 -u root -k  입력할 것.
    localhost error 시  export ANSIBLE_HOST_KEY_CHECKING=False

    2. # /etc/ansible/ansible.cfg 

     2.1. 반드시  host_key_check=false 로 설정해주셔야 합니다.

      2.1.1. 작업 전 오류

     

      2.1.2. 설정 변경

     

      2.1.3. 변경 후 ssh.yml 실행 및 Test

     

     

    ssh-keygen -b 2048 -t rsa -f ~/.ssh/id_rsa -q -N ''

    local에서 password를 사용하지 않고 RSA방식의 키 쌍을 만들어 내는 Code 입니다.

    만들어내 Key쌍중 공개키를 id_rsa.pub를 각 node의 root사용자 권한으로 Authorized_key로 변경해서 배포하는 Code입니다.

     

    Have a nice day!

    728x90

    '공부합시다! > Ansible' 카테고리의 다른 글

    Ansible: wordpress + RDS (AWS 환경)  (0) 2022.07.10
    Ansible: web server + php7.3 배포 및 구성  (0) 2022.07.08
    Ansible: Playbook yaml  (0) 2022.07.06
    Ansible: Ad-hoc & Inventory  (0) 2022.07.05
    Ansible: Ansiable 개요  (0) 2022.07.04
Designed by Tistory.