You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,6 +76,8 @@ Before you require secure methods of two-factor authentication, we recommend not
76
76
77
77
You can use a SSH certificate authority (CA) to allow members of any organization owned by your enterprise to access that organization's repositories using SSH certificates you provide. {% ifversion ssh-user-ca %}{% ifversion ghec %}If your enterprise uses {% data variables.product.prodname_emus %}, enterprise{% elsif ghes %}Enterprise{% endif %} members can also be allowed to use the certificate to access personally-owned repositories.{% endif %} {% data reusables.organizations.can-require-ssh-cert %} For more information, see [AUTOTITLE](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities).
78
78
79
+
{% data variables.product.github %} uses OpenSSH-format SSH user certificates to authenticate Git operations over SSH by validating the certificate's signature and fields (including its validity period) against a trusted SSH certificate authority (CA) configured at the organization and/or enterprise level.
80
+
79
81
{% data reusables.organizations.add-extension-to-cert %}
80
82
81
83
### Adding an SSH certificate authority
@@ -104,7 +106,9 @@ You can enable or disable access to user-owned repositories with an SSH certific
104
106
105
107
### Deleting an SSH certificate authority
106
108
107
-
Deleting a CA cannot be undone. If you want to use the same CA in the future, you'll need to upload the CA again.
109
+
Deleting an SSH certificate authority (CA) from your enterprise settings on {% data variables.product.github %} can't be undone. If you want to trust the same CA again in the future, you'll need to add the CA back to {% data variables.product.github %} by uploading the CA's public key again in your enterprise's SSH certificate authority settings.
110
+
111
+
Deleting a CA immediately prevents {% data variables.product.github %} from accepting SSH certificates signed by that CA, including certificates that have not yet expired. For CA rotation guidance, see [AUTOTITLE](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities#certificate-revocation-and-ca-rotation).
108
112
109
113
{% data reusables.enterprise-accounts.access-enterprise %}
110
114
{% data reusables.enterprise-accounts.settings-tab %}
Copy file name to clipboardExpand all lines: content/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities.md
+19-1Lines changed: 19 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,8 @@ category:
16
16
17
17
An SSH certificate is a mechanism for one SSH key to sign another SSH key. If you use an SSH certificate authority (CA) to provide your organization members and outside collaborators with signed SSH certificates, you can add the CA to your enterprise account or organization to allow these organization contributors to use their certificates to access organization resources.
18
18
19
+
{% data variables.product.github %} uses OpenSSH-format SSH user certificates to authenticate Git operations over SSH by validating the certificate's signature and fields (including its validity period) against a trusted SSH certificate authority (CA) configured at the organization and/or enterprise level.
20
+
19
21
{% data reusables.organizations.ssh-ca-ghec-only %}
20
22
21
23
After you add an SSH CA to your organization or enterprise account, you can use the CA to sign client SSH certificates for organization members and outside collaborators. These organization contributors can use the signed certificates to access that organization's repositories.
@@ -27,7 +29,6 @@ Certificates added to your enterprise grant access to all organizations owned by
27
29
Optionally, you can require that members and outside collaborators use SSH certificates to access organization resources. For more information, see [AUTOTITLE](/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities) and [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise).
28
30
29
31
For example, you can build an internal system that issues a new certificate to your developers every morning. Each developer can use their daily certificate to work on your organization's repositories on {% data variables.product.github %}. At the end of the day, the certificate can automatically expire, protecting your repositories if the certificate is later compromised.
30
-
31
32
{% ifversion ghec %}
32
33
Organization contributors can use their signed certificates for authentication even if you've enforced SAML single sign-on (SSO), without the need to authorize the signed certificates.
33
34
@@ -88,3 +89,20 @@ You can restrict the IP addresses from which an organization member can access y
{% data variables.product.github %} validates SSH certificates based on their signature, fields (including their validity period), and whether the signing CA is trusted at the organization or enterprise level. OpenSSH certificates don't use certificate revocation lists (CRLs) or the Online Certificate Status Protocol (OCSP), so there is no way to revoke an individual already-issued certificate while continuing to trust the same CA.
96
+
97
+
To invalidate certificates before they naturally expire, remove the issuing CA from your organization or enterprise settings. Removing a CA immediately prevents {% data variables.product.github %} from accepting any SSH certificates signed by that CA.
98
+
99
+
> [!WARNING]
100
+
> Removing a CA from your organization or enterprise settings invalidates all certificates it has signed, including certificates that have not yet expired.
101
+
102
+
To rotate a CA with minimal disruption:
103
+
104
+
1. Add the new CA to your enterprise or organization settings.
105
+
1. Update your certificate issuance system to sign new certificates with the new CA.
106
+
1. After all users have received new certificates from the new CA, remove the old CA.
107
+
108
+
Issuing short-lived certificates reduces the window of risk if a certificate is compromised. For more information about managing CAs, see [AUTOTITLE](/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities) and [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise).
Copy file name to clipboardExpand all lines: content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,6 +33,8 @@ If you require SSH certificates for your enterprise, enterprise members should u
33
33
34
34
## Deleting an SSH certificate authority
35
35
36
+
Deleting an SSH CA from your organization immediately prevents {% data variables.product.github %} from accepting SSH certificates signed by that CA, including certificates that have not yet expired. For CA rotation guidance, see [AUTOTITLE](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities#certificate-revocation-and-ca-rotation).
0 commit comments