Accessing the administrative shell (SSH)
SSH access allows you to run the GitHub Enterprise Server command line utilities and is useful for troubleshooting, running backups, and configuring replication.
In this guide
- About administrative shell access
- Enabling access to the administrative shell via SSH
- Accessing the administrative shell using the local console
- Access limitations for the administrative shell
About administrative shell access
If you have SSH access to the administrative shell, you can run GitHub Enterprise Server's command line utilities. SSH access is also useful for troubleshooting, running backups, and configuring replication. Administrative SSH access is managed separately from Git SSH access and is accessible only via port 122.
Enabling access to the administrative shell via SSH
To enable administrative SSH access, you must add your SSH public key to your instance's list of authorized keys.
Tip: Changes to authorized SSH keys take effect immediately.
-
In the upper-right corner of any page, click .
-
In the left sidebar, click Management Console.
-
Under "SSH access", paste your key into the text box, then click Add key.
-
Under the left sidebar, click Save settings.
Connecting to the administrative shell over SSH
After you've added your SSH key to the list, connect to the instance over SSH as the admin
user on port 122.
$ ssh -p 122 admin@github.example.com
Last login: Sun Nov 9 07:53:29 2014 from 169.254.1.1
admin@github-example-com:~$ █
Troubleshooting SSH connection problems
If you encounter the Permission denied (publickey)
error when you try to connect to your GitHub Enterprise Server instance via SSH, confirm that you are connecting over port 122. You may need to explicitly specify which private SSH key to use.
To specify a private SSH key using the command line, run ssh
with the -i
argument.
ssh -i /path/to/ghe_private_key -p 122 admin@hostname
You can also specify a private SSH key using the SSH config file (~/.ssh/config
).
Host hostname
IdentityFile /path/to/ghe_private_key
User admin
Port 122
Accessing the administrative shell using the local console
In an emergency situation, for example if SSH is unavailable, you can access the administrative shell locally. Sign in as the admin
user and use the password established during initial setup of GitHub Enterprise Server.
Access limitations for the administrative shell
Administrative shell access is permitted for troubleshooting and performing documented operations procedures only. Modifying system and application files, running programs, or installing unsupported software packages may void your support contract. Please contact [GitHub Enterprise Support](https://enterprise.github.com/support) or [GitHub Premium Support](https://premium.githubsupport.com) if you have a question about the activities allowed by your support contract.