My VPS provider recommends that I leave my SSH port to the custom port number they assign it by default (not 22). The thing is the while I know I can give the port number when create a remote config, it seems like I can't do the same when doing a git clone. I am using gitolite so I clone commands look like:
git clone git@mydomain.com:gitolite-admin
Is there a way to covert this to using the custom ssh port number?
I should also mention I am running cygwin on windows. I have seen multiple places saying to add the custom port to the ~/.ssh/config
file like
Host mydomain.com
Port 12345
however in cygwin, that file does not seem to exist.
git clone ssh://git@mydomain.com:[port]/gitolite-admin
Note that the port number should be there without the square brackets: []
When you want a relative path from your home directory you use this strange syntax:
ssh://[user@]host.xz[:port]/~[user]/path/to/repo
For Example, if the repo is in /home/jack/projects/jillweb
on the server jill.com
and you are logging in as jack
with sshd
listening on port 4242:
ssh://jack@jill.com:4242/~/projects/jillweb
(Update: a few years later Google and Qwant "airlines" still send me here when searching for "git non-default ssh port")
A probably better way in newer git versions is to use the GIT_SSH_COMMAND ENV.VAR like:
GIT_SSH_COMMAND="ssh -oPort=1234 -i ~/.ssh/myPrivate_rsa.key" \
git clone myuser@myGitRemoteServer:/my/remote/git_repo/path
This has the added advantage of allowing any other ssh suitable option (port, priv.key, IPv6, PKCS#11 device, ...).