{"id":20189949,"url":"https://github.com/tjm/ipa-sshkey-stash","last_synced_at":"2025-10-07T02:23:22.494Z","repository":{"id":22804920,"uuid":"26151532","full_name":"TJM/IPA-SSHKey-Stash","owner":"TJM","description":"Sync SSH Keys stored in IPA LDAP to Atlassian Stash","archived":false,"fork":false,"pushed_at":"2016-03-11T08:18:57.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-13T18:50:35.824Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/TJM.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":null,"security":null,"support":null}},"created_at":"2014-11-04T03:43:34.000Z","updated_at":"2016-03-11T08:18:57.000Z","dependencies_parsed_at":"2022-07-23T18:02:17.573Z","dependency_job_id":null,"html_url":"https://github.com/TJM/IPA-SSHKey-Stash","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TJM%2FIPA-SSHKey-Stash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TJM%2FIPA-SSHKey-Stash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TJM%2FIPA-SSHKey-Stash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TJM%2FIPA-SSHKey-Stash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TJM","download_url":"https://codeload.github.com/TJM/IPA-SSHKey-Stash/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241624743,"owners_count":19992938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-14T03:39:48.899Z","updated_at":"2025-10-07T02:23:17.469Z","avatar_url":"https://github.com/TJM.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"stash-ipa-sshkeys\n=================\n\nSynchronise SSH Keys stored in IPA to Atlassian Stash \u003chttps://www.atlassian.com/software/stash\u003e\n\nThis was found a while ago as a gist in a forum post, and has been \"improved\" on to do what we need it to do. Mostly making it work on the *ancient* version of Ruby that comes on CentOS6.5\n\nBasically, we set it up to run every 5 minutes during business hours via cron and it keeps our SSH keys that\nare uploaded to IPA sync'd with STASH so users only need to upload to one place. It would be wonderful if STASH\ncould just look directly in the LDAP directory where IPA stores them, but for now this is needed.\n\nOrder of operations...\n* Parse various IPA config files (ipa.conf / sssd.conf) to get configurations\n* If there is not a hardcoded LDAP URI (normal), look up the LDAP servers via DNS SRV records\n* Connect to those LDAP servers either anonymous or with bind credentials (if security regulations require removing anonymous)\n* Get a list of user accounts with SSH keys that have changed since the last time it ran\n* Sync the SSH keys to Stash using API calls.\n\nNote this requires a fairly powerful account (one that can modify other user's keys) in STASH, but just a normal user\naccount in LDAP.\n\nRequirements (at least on CentOS6)\n-----\n* `yum install ruby rubygem-json`\n* `gem install net-ldap -v 0.8.0`  _(sorry, this is not an RPM at least in EPEL or RHEL)_\n   * NOTE: You can obtain rubygem-net-ldap as an rpm from Puppet Dependencies repo https://yum.puppetlabs.com/el/6/dependencies/x86_64/ \n\n\nOriginally at: https://jira.atlassian.com/browse/CWD-2895\n\nSee Also: https://gist.github.com/TJM/d0ed12f3b20ebe2d55ab\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjm%2Fipa-sshkey-stash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftjm%2Fipa-sshkey-stash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjm%2Fipa-sshkey-stash/lists"}