What is it? This is a simple SSH users management tool which able to do following operations over described servers: list SSH users search over SSH users add SSH users delete SSH users set name (rename) SSH users All SSH operations performed by the user you log in. This tool parses ~/.ssh/authorized_keys and operates its contents due to selected operation. How it works? It is total CLI: usage: sshcenter.py [-h] [--config CONFIG] [--group] name {list,search,add,del,setname} ... SSH Users Center positional arguments: name Server or group name {list,search,add,del,setname} Commands list List users search Search user add Add user del Delete user setname Set username for public key optional arguments: -h, --help show this help message and exit --config CONFIG, -c CONFIG Config file (default: config.json) --group, -g Group name Servers description format (config.json) { "default" : { "keyfile": "", "password": "", "user": "" }, "servers": { "local": { "host": "127.0.0.1" }, "remote": { "host": "8.8.8.8" } }, "groups": { "all": [".*"], "local": ["local"] } } Examples List all descibed users on server remote : python3 sshcenter.py remote list Search user Rookie whoose public key has *pub_key* substring on each server in group all (all servers: local and remote ): python3 sshcenter.py -g all search -u Rookie -k pub_key Add user public key AAAAB3Nza...CtBYmxQ9Nb of user Rookie@Gmail.com to each server in group local : python3 sshcenter.py -g local add Rookie@Gmail.com AAAAB3Nza...CtBYmxQ9Nb Delele user Rookie@Gmail.com from local server: python3 sshcenter.py local del Rookie@Gmail.com Rename user Rookie@Gmail.com on all servers: python3 sshcenter.py -g all setname AAAAB3NzaC Expert@Gmail.com