-
Ansible: ssh key 자동 배포 (2023년 1월 11일 Test)공부합시다!/Ansible 2022. 7. 7. 10:04728x90
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