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

If you have SSH access to the administrative shell, you can run GitHub Enterprise'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.

  1. In the upper-right corner of any page, click . Rocketship icon for accessing site admin settings

  2. In the left sidebar, click Management Console. Management Console tab in the left sidebar

  3. Under "SSH access", paste your key into the text box, then click Add key. Text box and button for adding an SSH key

  4. Under the left sidebar, click Save settings. Save settings button

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

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.

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 or GitHub Premium Support if you have a question about the activities allowed by your support contract.