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. For more information, see "Generating a new SSH key and adding it to the ssh-agent."
Tip: Changes to authorized SSH keys take effect immediately.
-
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 Management Console.
-
Under "SSH access", paste your key into the text box, then click Add key.
-
Under the left sidebar, click Save settings.
Note: Saving settings in the Management Console restarts system services, which could result in user-visible downtime.
-
Wait for the configuration run to complete.
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 configuration 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 if you have a question about the activities allowed by your support contract.