anazmy / rotatepass

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rotatepass a script to rotate passwords on servers concurently, and to save them in an encrypted file.

  • Starting point, you will need a file that has a list of all hostnames (one per line) and run the script as below:
#  rotatepass.py -i serverlist
  • If you need to update all servers' passwords just run
#  rotatepass.py -u
  • To update just a subset of servers, point the script to a file containing these hostnames
#  rotatepass.py --list list_of_failed_server.txt
  • To update a single server
#  rotatepass.py -t server.example.com
  • To get list of servers/passwords printed on stdout.
#  rotatepass.py -d
# rotatepass.py -h
usage: rotatepass.py [-h] [-f FORKS] [-p]
                     (-u | -t HOST | -d | -i INIT_LIST | -l LIST)

This script mass generates and resets a user password on hostnames specified,
and saves them to a file.

optional arguments:
  -h, --help            show this help message and exit
  -f FORKS, --forks FORKS
                        Number of parallel runs, the higher the value, the
                        faster the passwords reset. Keep an eye on load.
  -p, --plain           Save the hosts' file in plaintext. WARNING: Secure
                        handling of the file is the user's responsibility
  -u, --updateall       This will reset passwords on all servers
  -t HOST, --target HOST
                        Reset password on the target host and update the
                        servers' file.
  -d, --decrypt         Decrypt hosts' file and print it to stdout
  -i INIT_LIST, --init INIT_LIST
                        Initial hosts' file, expects path to a plaintext file
                        with one IP/FQDN per line. WARNING: existing hosts
                        file will be overwritten
  -l LIST, --list LIST  List of hosts to process, expects path to a plaintext
                        file with one IP/FQDN per line. New entries will be
                        added to existing hosts file.

About

License:GNU Affero General Public License v3.0


Languages

Language:Python 100.0%