Skip to content
This repository has been archived by the owner on Nov 9, 2020. It is now read-only.

vmware-archive/ansible-role-sshkeys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ansible-role-sshkeys

Ansible module for creating and rotating SSH keys on fleets of servers. The work was inspired (though dramatically altered and upgraded) by an article about the topic authored (posted online) by Jesse Keating, June 7, 2014.

On every run, this role will

  • create a new local ssh key,
  • copy that key to all remote hosts
  • replace our main local ssh key with the newly created key

General use case is to run this role in a playbook using the --ask-password parameter to ansible-playbook to be able to run future plays without password entry. Re-running the same play without password will result in rotating the keys of the local ssh user and all remote hosts.

For ansible to use the generated ssh key, make sure ansible.cfg has a line like private_key_file = your-private-key, where your-private-key is the location used in the variable sshkeys_local_final_pub_key

When trying to rotate keys, unreachable hosts result in loss of key sync. You will need to re-sync those hosts using a password when they are reachable.

Requirements

Must have ssh-keygen locally and be running openssh on the remote hosts

Role Variables

Available variables can be found in vars.

Key variables are:

sshkeys_local_user

Local user who should own the ssh keys. By default, we'll use the user running the ansible play.

sshkeys_remote_user
sshkeys_remote_group

User and group that we will ssh in as on the remote side. By default, these will be set to the ansible_ssh_user

sshkeys_local_final_priv_key: "{{ sshkeys_local_dir }}/ansible_role_test_key"
sshkeys_local_final_pub_key: "{{ sshkeys_local_final_priv_key }}.pub"

Location of the final public and private key storage. These are the keys ansible should use to connect to the remote hosts passwordless.

Example playbook


---
- hosts: sshhosts
  roles:
    - sshkeys

License and Copyright

Copyright 2015-2017 VMware, Inc. All rights reserved.

SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-only

This code is Dual Licensed Apache-2.0 or GPLv3

Author Information

This role was created in 2015 by Tom Hite / VMware.

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages