If employees leave the company, you can suspend their GitHub Enterprise Server accounts to open up user licenses in your GitHub Enterprise license while preserving the issues, comments, repositories, gists, and other data they created. Suspended users cannot sign into your instance, nor can they push or pull code.
When you suspend a user, the change takes effect immediately with no notification to the user. If the user attempts to pull or push to a repository, they'll receive this error:
$ git clone git@[hostname]:john-doe/test-repo.git
Cloning into 'test-repo'...
ERROR: Your account is suspended. Please check with your installation administrator.
fatal: The remote end hung up unexpectedly
Before suspending site administrators, you must demote them to regular users. For more information, see "Promoting or demoting a site administrator."
Note: If LDAP Sync is enabled for your GitHub Enterprise Server instance, users are automatically suspended when they're removed from the LDAP directory server. When LDAP Sync is enabled for your instance, normal user suspension methods are disabled.
Suspending a user from the user admin dashboard
-
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
-
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
-
In the search field, type the name of the user and click Search.
-
In the search results, click the name of the user.
-
In the upper-right corner of the page, click Admin.
-
In the left sidebar, click Admin.
-
Under "Account suspension," in the red Danger Zone box, click Suspend.
-
Provide a reason to suspend the user.
Unsuspending a user from the user admin dashboard
As when suspending a user, unsuspending a user takes effect immediately. The user will not be notified.
-
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
-
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
-
In the left sidebar, click Suspended users.
-
Click the name of the user account that you would like to unsuspend.
-
In the upper-right corner of the page, click Admin.
-
In the left sidebar, click Admin.
-
Under "Account suspension," in the red Danger Zone box, click Unsuspend.
-
Provide a reason to unsuspend the user.
Suspending a user from the command line
-
SSH into your GitHub Enterprise Server instance. If your instance comprises multiple nodes, for example if high availability or geo-replication are configured, SSH into the primary node. If you use a cluster, you can SSH into any node. For more information about SSH access, see "Accessing the administrative shell (SSH)."
$ ssh -p 122 admin@HOSTNAME
-
Run ghe-user-suspend with the username to suspend.
$ ghe-user-suspend USERNAME
Creating a custom message for suspended users
You can create a custom message that suspended users will see when attempting to sign in.
-
In the top-right corner of GitHub Enterprise Server, click your profile photo, then click Enterprise settings.
-
In the enterprise account sidebar, click Settings.
-
Under Settings, click Messages.
-
Click Add message.
-
Type your message into the Suspended user message box. You can type Markdown, or use the Markdown toolbar to style your message.
-
Click the Preview button under the Suspended user message field to see the rendered message.
-
Review the rendered message.
-
At the bottom of the page, click Save changes.
Unsuspending a user from the command line
-
SSH into your GitHub Enterprise Server instance. If your instance comprises multiple nodes, for example if high availability or geo-replication are configured, SSH into the primary node. If you use a cluster, you can SSH into any node. For more information about SSH access, see "Accessing the administrative shell (SSH)."
$ ssh -p 122 admin@HOSTNAME
-
Run ghe-user-unsuspend with the username to unsuspend.
$ ghe-user-unsuspend USERNAME