Add nodes

  1. create key

    $ ssh-keygen -t rsa -f ansible_rsa -C "ansible"
    $ ls
    ansible_rsa  ansible_rsa.pub
    Note

    .pub 파일의 권한은 `600`이어야 한다. 권한이 너무 많다면 아래와 같은 에러 발생.

    + ansible all -i ~/ansible/inventories/hosts -m ping
    user@server-host | UNREACHABLE! => {
        "changed": false,
        "msg": "Failed to connect to the host via ssh: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\nPermissions 0755 for '~/.ssh/ansible_rsa' are too open.\r\nIt is required that your private key files are NOT accessible by others.\r\nThis private key will be ignored.\r\nLoad key \"~/.ssh/ansible_rsa\": bad permissions\r\nPermission denied (publickey,gssapi-keyex,gssapi-with-mic,password).",
        "unreachable": true
    }
  2. copy pub key to node

    $ ssh-copy-id -i ./ansible_rsa.pub <user>@<host>
    Note

    접근이 불가능 할 경우 직접 이동?

    $ vi ~/.ssh/authorized_keys
  3. add ansible directory

    $ mkdir -p ~/ansible/inventories
    $ mkdir -p ~/ansible/playbooks
  4. add hosts file

    $ vi ~/ansible/inventories/hosts
    hosts
    [all:vars]
    ansible_ssh_common_args='-o StrictHostKeyChecking=no'
    
    [alpha]
    <server-host> ansible_user=<user> ansible_ssh_private_key_file=~/.ssh/ansible_rsa
  5. test

    $ ansible all -i ~/ansible/inventories/hosts -m ping