ssh-copy-id

SSH Liunux
Securing SSH

This role provides the ability to authorize remote systems for passwordless SSH authentication.

This role is helpful when you have a remote machine you want to use by ansible and wish to use SSH key-based authentication. It will handle setting the SSH keys on the remote machine allowing you to create an ansible inventory file with the remote machine. Then you can easily call any ansible playbook against the remote machine.

Role Variables

Below are the available variables you will need to supply to the role.

VariableDescription
hostnameremote system to connect to (FQDN or IP)
usernameusername to connect to the remote system
passwordpassword to connect to the remote system
ssh_public_keypublic key file (absolute path) to set into the remote system
portSSH port to connect to

Example Playbook

This example playbook below demonstrates ansible setting up passwordless SSH authentication on a user-supplied remote machine that currently does not have SSH key-based authentication configured.

---
- name: configure passwordless ssh authentication on a remote machine
  hosts: localhost

  roles:
    - role: ssh_copy_id
      vars:
        hostname: 127.0.0.1
        username: username
        password: password
        ssh_public_key: /home/username/.ssh/id_rsa.pub
        hetzner_storagebox: true
        ssh_port: 22

License

GPLv3