These scripts allow you to manage ssh keys for users and apps
Users are listed in permissions.yml
. Users are created and deleted on servers
match the list in permissions.yml
. SSH keys are retreived from github (user
names are assumed to be the github usernames).
If an app user exist on a server the keys for the users listed under that app are copied over allowing the users to SSH and deploy the app on that server.
sync-accounts https://url/to/permissions.yml
will download the permissions
file and sync the users. If a user is in permissions.yml
that is not on the
system that user will be created. If a user exist on the system but no in
permissions.yml
that user will be deleated. If an user with the name of an app
exist the keys will be copied to that users authorized_keys
file.
Install to /usr/local/bin
:
./configure
sudo make install
Install to /usr/bin
:
./configure --prefix=/usr
sudo make install
Uninstall:
sudo make uninstall
You can set up cron to auto updated the ssh keys. Eg:
0 * * * * /usr/local/bin/sync-accounts http://domain.com/permissions.yml
Or place a executable file in /etc/cron.hourly
:
sudo tee /etc/cron.hourly/sync-accounts <<'EOF'
/usr/local/bin/sync-accounts http://domain.com/permissions.yml
EOF
sudo chmod +x /etc/cron.hourly/sync-accounts