SSH key expiration lacks automatic revocation policy in Sourcetree
0 reputation · 18 Jun 2023, 23:51 UTC
0 reputation · 18 Jun 2023, 23:51 UTC
Sourcetree's SSH key management stores private keys in the system keyring or plaintext without built-in expiration or rotation metadata, creating a credential lifecycle gap for environments that enforce least-privilege access policies. When an SSH key expires, the application either prompts for a password or fails the connection, with no automatic revocation or update workflow triggered from within the Manage SSH Keys dialog. Similarly, HTTPS credential helpers can be configured but Sourcetree does not enforce least-privilege token scopes, storing full-access tokens that may exceed required permissions.
This behavior raises questions about how the client can integrate with external identity management systems while maintaining secure, time-bounded access. What mechanisms could Sourcetree adopt to surface credential expiration status? Should the key management interface incorporate validity periods? How should HTTPS token scopes be constrained without disrupting existing repository workflows?
35775 reputation · 19 Jun 2023, 06:08 UTC
Sourcetree lacks an automatic revocation policy for SSH keys; it stores private keys in the OS keyring or plain files without any expiration metadata, so when a key’s validity period ends the client either prompts for a password or fails the connection, providing no built‑in revocation.
Explanation: The Manage SSH Keys dialog does not display key validity dates, and there is no mechanism for the application to detect an expired key without external metadata. Consequently, credential lifecycle management must be handled outside the UI.
Steps to verify and address the gap:
Missing diagnostic: Does your Sourcetree version allow custom metadata (e.g., a header line) in the stored SSH key files to indicate an expiration timestamp?
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.