Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The man page says this:


Host Restricts the following declarations (up to the next Host keyword) to be only for those hosts that match one of the patterns given after the keyword. If more than one pattern is provided, they should be separated by whitespace. A single `*' as a pattern can be used to provide global defaults for all hosts. The host is the hostname argument given on the command line (i.e. the name is not converted to a canonicalized host name before matching).

A pattern entry may be negated by prefixing it with an exclamation mark (`!'). If a negated entry is matched, then the Host entry is ignored, regardless of whether any other patterns on the line match. Negated matches are therefore useful to provide exceptions for wildcard matches.>

See PATTERNS for more information on patterns.


HostName Specifies the real host name to log into. This can be used to specify nicknames or abbreviations for hosts. If the hostname contains the character sequence `%h', then this will be replaced with the host name specified on the command line (this is useful for manipulating unqualified names). The default is the name given on the com- mand line. Numeric IP addresses are also permitted (both on the command line and in HostName specifications).

For example, when I want to create an SSH Config for GitHub, what should Host and HostName be respectively?

share|improve this question
up vote 6 down vote accepted

For your ~/.ssh/config might look like this

    IdentityFile ~/.ssh/key_name_for_github

For hostname: as man says it allows you to specify abbreviation for host. For example, if your ~/.ssh/config look like this

Host host1
Host host2

Then when you type

ssh host1

you actually login to

ssh host2

login to

share|improve this answer
I'm guessing that you meant 'Hostname' instead of 'Host' in your second ~/.ssh/config example? – Dave 2 days ago

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .