{"id":19952010,"url":"https://github.com/studio24/ssh-keys","last_synced_at":"2026-05-13T03:36:40.163Z","repository":{"id":37905668,"uuid":"348652359","full_name":"studio24/ssh-keys","owner":"studio24","description":"Manage public SSH keys for Studio 24 staff","archived":false,"fork":false,"pushed_at":"2025-11-28T16:18:59.000Z","size":74,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-05T05:06:00.910Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.studio24.net/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/studio24.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-17T09:34:31.000Z","updated_at":"2025-11-28T16:18:59.000Z","dependencies_parsed_at":"2024-04-26T18:28:52.661Z","dependency_job_id":"ec3d5e45-03e5-47bd-8321-5dff03be63d0","html_url":"https://github.com/studio24/ssh-keys","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/studio24/ssh-keys","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Fssh-keys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Fssh-keys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Fssh-keys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Fssh-keys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/studio24","download_url":"https://codeload.github.com/studio24/ssh-keys/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Fssh-keys/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32967208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T23:30:32.555Z","status":"online","status_checked_at":"2026-05-13T02:00:07.132Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T01:11:12.106Z","updated_at":"2026-05-13T03:36:40.138Z","avatar_url":"https://github.com/studio24.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Studio 24 access to client servers\n\nWe lock down remote server access to our office IP address (supplied on request) and to use SSH keys to login. \nThis repo contains instructions on how to add your SSH key and how to distribute staff public SSH keys to remote servers via Ansible.  \n\n## Adding your public key\n\nEnsure your current public key is stored in the `staff/` folder, please note this should only contain current Studio 24 staff.\n\nClone the project:\n\n```\nmkdir -p ~/Sites/studio24\ngit clone git@github.com:studio24/ssh-keys.git ~/Sites/studio24/ssh-keys\ncd /Sites/studio24/ssh-keys\n```\n\nUpdate your key (replace `simon_jones.pub` with your name):\n\n```\ncp ~/.ssh/id_ed25519.pub staff/simon_jones.pub\n```\n\nPlease add your public key changes to a branch and create a Pull Request to merge into main. Please note only [codeowners](.github/CODEOWNERS) have permissions to approve Pull Requests.\n\n## Removing public keys\n\nWhen staff leave Studio 24 ensure their public keys are removed from this repo.\n\n## Server setup\n\nThe following instructions automate distributing staff public SSH keys to client servers every half hour.\n\n### 1. Create user\n\nThe SSH user you wish to connect to via passwordless logins must already exist. This is normally the `studio24` or `deploy` user.\n\nYou can change the SSH user in the `config.yml` file, this defaults to `studio24`. \n\nPlease note the SSH key update process does not require any sudo rights for the user, it is designed to be used with normal, restricted user permissions.\n\n### 2. Setup\n\nInstall Ansible (v 2.4+), if it is not already available. The following instructions are for Centos.\n\n```\nsudo yum install epel-release\nsudo yum install ansible\n\n# Test Ansible is installed\nansible --version\n```\n\nYou can run the following setup Ansible playbook to automate the next steps.\n\n```\nexport TEMP=/root/.ansible/tmp\nansible-pull -U https://github.com/studio24/ssh-keys.git setup.yml\n```\n\n#### Manual instructions\n\nManual instructions appear below. \n\n```\ntouch /var/log/ansible-pull.log\nchown studio24 /var/log/ansible-pull.log\nchmod 644 /var/log/ansible-pull.log\n\necho \"/var/log/ansible-pull.log {\n    rotate 7\n    daily\n    compress\n    missingok\n    notifempty\n}\n      \n\" \u003e\u003e /etc/logrotate.d/ansible-pull\n\necho \"# Cron job to run SSH Keys import script every half hour\nTEMP=/home/studio24/.ansible/tmp\n*/30 * * * * studio24 ansible-pull -d /home/studio24/repo --only-if-changed -U https://github.com/studio24/ssh-keys.git \u003e\u003e /var/log/ansible-pull.log 2\u003e\u00261\n\n\" \u003e\u003e /etc/cron.d/ansible-pull\n```\n\n### 3. Test run \n\nYou can check this works by running the following command as the SSH user (not root!). This should copy the public keys to `/home/studio24/.ssh/authorized_keys` and set the correct permissions. \n\n```\nsu studio24\nexport TEMP=/home/studio24/.ansible/tmp\n\nansible-pull -U https://github.com/studio24/ssh-keys.git\n``` \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudio24%2Fssh-keys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstudio24%2Fssh-keys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudio24%2Fssh-keys/lists"}