SSH Key Management Policy – Single vs Multiple Keys per User
Hi everyone,
We would like to open a discussion regarding our current SSH access policy on the cluster.
At the moment:
- SSH access is key-based only
- Each user can register a single public key via the web portal
- The private key remains entirely under the user’s responsibility
Some users have suggested that we should allow multiple SSH keys per user. We would like to gather broader feedback from the community before considering any changes.
Arguments in favor of multiple keys
A few motivations have been raised:
- Redundancy
- Having multiple keys could prevent lockout if a private key is lost
- Isolation / compartmentalization
- Users may want separate keys for different devices (laptop, workstation, CI/CD, etc.)
- Or separate keys per usage context
Counterpoints and considerations
From our perspective, there are important trade-offs:
1. Redundancy is not strictly necessary
- If a private key is lost, generating a new key pair is fast and straightforward
- The user can then update their public key via the portal
- Therefore, the operational benefit of redundancy is relatively limited
2. Increased attack surface
- Allowing multiple keys increases the probability that:
- One key is poorly protected
- One key is unintentionally exposed
- Any compromised key would grant access to the cluster
3. Lack of fine-grained control
- Ideally, multiple keys should come with scoping mechanisms, such as:
- Restricting a key to specific hosts
- Restricting usage contexts
- However:
- Our infrastructure does not currently support fine-grained key scoping
- Cluster nodes are not managed via a centralized identity system like Active Directory
- Implementing such controls would be complex
- Without proper scoping, multiple keys effectively behave as full-access credentials
Current exception
For completeness, note that we already allow multiple SSH keys in a specific case:
- Shared service accounts, typically used by multiple administrators
In this context:
- Multiple keys are required for operational reasons
- Key ownership is tied to individual administrators
- This use case is managed differently from standard user accounts
Open questions
We would like your input on the following:
- Do you have concrete use cases that require multiple SSH keys?
- Would multiple keys significantly improve your workflows?
- How do you currently manage key security on your side?
- Would you expect additional controls (e.g. per-key restrictions)?
Possible directions
Depending on feedback, we could explore:
- Keeping the current single key model
- Allowing multiple keys with limitations
- Defining best practices for key management instead
We look forward to hearing your thoughts!
Thanks in advance for your feedback ![]()