I'm the co-founder of a startup that has developed a tool for this called Userify[1]. It creates and removes local accounts and manages the ssh keys and sudo permissions centrally, so you don't have to worry about not being able to get in if your LDAP/AD is down. (Our Enterprise edition, self-hosted in your VPC or in your DC, can optionally integrate with LDAP or AD for dashboard logins, MFA, etc.) We also have an AW…
I thought about doing something like this in the past, did you find this to be relatively profitable? Was it something that a lot of people wanted?
Ask HN: How do you manage SSH keys and SSL certificates in your company?
81–90 of 114 posts
Re: Ask HN: How do you manage SSH keys and SSL certificates in your company?
#82We use Ansible to deploy/manage peoples' SSH keys on our servers. From their laptop or a jumpbox (within the management VLAN) with their personal key (and a passphrase!) they are able to login in to all those servers. So logins are personal (as opposed to shared accounts which have to be updated when people leave). Now when new people arrive or when people leave we just run an Ansible playbook and all our 400+ server…
How do you manage to "remove" SSH keys. Since sensible is stateless, you probably run once for removing and once for adding a new key.
Re: Ask HN: How do you manage SSH keys and SSL certificates in your company?
#83We use Yubikeys as GPG smartcards, and use them for gpg-agent as ssh keys. Everyone puts their hsm keys on their github account (and removes all others). We fetch the keys for each user from github on system init. e.g. https://github.com/sneak.keys When we need to add/remove people, we just update the list of usernames in the script that fetches keys, and then kill off instances one at a time to force a redeploy.
>Everyone puts their hsm keys on their github account (and removes all others). How do you ensure that nobody adds another key? I don't think github gives organizations visibility into key changes in user accounts.
Re: Ask HN: How do you manage SSH keys and SSL certificates in your company?
#84SSH: Daily key generation and rotation with a 2FA registration system. Keys come from this local daemon, once per ui session / 12 hours. Port knocking to get through bastions. All bastions and config done via enterprise managed setup. You're not on a managed machine, you're not on prod/vpn/ssh/etc. SSL: AWS KMS style solution which predates it on internal, and new system built on KMS. These systems are merging as KMS…
Re: Ask HN: How do you manage SSH keys and SSL certificates in your company?
#85This system uses a set of untrusted nodes that form a permissioned blockchain. Updating the chain requires a threshold of keys stored in the first block. The private keys are distributed over laptops/phones.
A person can have multiple devices that accept/deny new keys, while the servers check periodically for updates and can verify the new ssh-keys are legit by verifying the signatures.
I did a small demo at HotPETs 2016: https://www.securityweek2016.tu-darmstadt.de/fileadmin/user_...
I also hope to have it running again, soon. If anybody is interested, don't hesitate to contact us at linus.gasser@epfl.ch
Re: Ask HN: How do you manage SSH keys and SSL certificates in your company?
#86Earlier quoted context omitted.
So let say you have bunch of servers that your team has to access via ssh, how would vault help adding users public keys add it to ~/.ssh/authorized_keys of each machine? i am familiar with vault locking/unlocking secrets but not sure if Vault can help centralizing and deploying those keys to individual machines.
A good solution to this problem is to use an SSH Certificate Authority - then you need only configure the CA certificate on each box, and you can either issue semi-long-lived certificates to each user who needs access, or use something like Vault to issue short-lived certificates intended for one-time use. This model is described in an excellent post by Facebook from a while back [1]. (Disclaimer: I used to work at H…
It's not a difficult problem, mind you, but there was custom code written that runs on developer laptops (OS X and Ubuntu) to support this workflow.
(Despite being a very similar looking string of bytes as more traditional pub/private keys, it's different in the SSH-Agent protocol, so don't assume all ssh-agent-looking daemons support it.)
Re: Ask HN: How do you manage SSH keys and SSL certificates in your company?
#87I'm the co-founder of a startup that has developed a tool for this called Userify[1]. It creates and removes local accounts and manages the ssh keys and sudo permissions centrally, so you don't have to worry about not being able to get in if your LDAP/AD is down. (Our Enterprise edition, self-hosted in your VPC or in your DC, can optionally integrate with LDAP or AD for dashboard logins, MFA, etc.) We also have an AW…
Are you actually removing the unix account? How do you manage uids? How do you prevent reuse? How about over NFS?
Re: Ask HN: How do you manage SSH keys and SSL certificates in your company?
#88Re: Ask HN: How do you manage SSH keys and SSL certificates in your company?
#89We used ScaleFT for Dreamhack ( https://www.scaleft.com/blog/how-dreamhack-used-scaleft-to-s... ) and it was very easy to work with. A very good product if your company simply wants something that works.
Re: Ask HN: How do you manage SSH keys and SSL certificates in your company?
#90I'm the co-founder of a startup that has developed a tool for this called Userify[1]. It creates and removes local accounts and manages the ssh keys and sudo permissions centrally, so you don't have to worry about not being able to get in if your LDAP/AD is down. (Our Enterprise edition, self-hosted in your VPC or in your DC, can optionally integrate with LDAP or AD for dashboard logins, MFA, etc.) We also have an AW…
> their account is removed Are you actually removing the unix account? How do you manage uids? How do you prevent reuse? How about over NFS?
Here's the source code: https://github.com/userify/shim/blob/master/shim.py#L161