GitHub does not support SSH authentication with username and password. You need to set up an SSH key pair if you intend to connect via SSH. Please check the Online GitHub Help for further information.
If you prefer to authenticate with username and password, you can connect with the HTTPS URL of your GitHub repository.
Please note that the username in GitHub SSH URLs (user@someserver.com:repo.git is an SSH URL) is always git and you must not change it. GitHub identifies you by the SSH key you are authenticating with, not by the username.
If you intend to use it with GitHub, please have a look at the Online GitHub Help for further information on how to create an SSH key and use it with GitHub.
If you have successfully created the key and added it to your GitHub account, it should automatically work in Tower. If it does not work in Tower, please make sure you can actually connect to GitHub via command line as instructed on the GitHub help page mentioned above. If you can connect via command line but not with Tower, please read the following FAQ section.
You need to set up your keys in the same way as you have to for Git on the command line.
The default DSA and RSA SSH key files (~/.ssh/id_rsa or ~/.ssh/id_rsa) should be handled automatically by OS X. If the key is password protected, Keychain will - by default - prompt you to unlock the key. This is a feature of the SSH utilities that ship with Mac OS X. If the Keychain window does not show up, you might have overwritten the system SSH utilities with another installation (e.g. from Macports) or have installed another SSH Agent.
If the key is not the default DSA or RSA key file neither Tower nor Git on the CLI will by default be able to find the key for authentication. So this is a problem that is not directly related to Tower. In order to use them in Tower (or Git in Terminal) you need to manage your keys with an SSH agent (http://en.wikipedia.org/wiki/Ssh-agent).
But we are looking into a solution to make SSH Keys configurable per repository/remote in Tower, so that keys are automatically added to the SSH agent for you on demand.
Usually, you want to specify the port in the URL itself. If the URL is of the form ssh://user@someserver.com/repo.git the port is specified after the hostname, separated by a colon. For example, to specify the alternate port 2222, the URL would become ssh://user@someserver.com:2222/repo.git.
Alternatively, you can create a SSH config file ~/.ssh/config where you can define default SSH parameters for certain hosts:
Host somehost.com
Port 2222
Note that if an SSH URL is in SCP syntax (user@someserver.com:repo.git), you cannot specify the port in the URL because this syntax does not support it. You must either rewrite the URL to the SSH syntax above or use the config file approach.