使用具有非标准端口的远程存储库
我正在为远程存储库设置我的本地git项目。 远程存储库正在非标准端口上提供(4019)。
但它不起作用。 相反,我得到以下错误信息:
ssh: connect to host git.host.de:4019 port 22: Connection refused fatal: The remote end hung up unexpectedly error: failed to push to 'ssh://root@git.host.de:4019/var/cache/git/project.git'
我的本地gitconfiguration如下 :
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = ssh://root@git.host.de:4019/var/cache/git/project.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
(端口和主机是实际端口和主机的占位符。)
我的gitconfiguration有什么问题?
如果你把这样的东西放在你的.ssh/config
:
Host githost HostName git.host.de Port 4019 User root
那么你应该可以使用基本的语法:
git push githost:/var/cache/git/project.git master
基于SSH的git访问方法可以在<repo_path>/.git/config
使用完整的URL或类似SCP的语法指定,如http://git-scm.com/docs/git-clone :
url样式:
url = ssh://[user@]host.xz[:port]/path/to/repo.git/
SCP风格:
url = [user@]host.xz:path/to/repo.git/
请注意,SCP风格不允许直接更改端口,而是依赖于~/.ssh/config
的ssh_config
主机定义,例如:
Host my_git_host HostName git.some.host.org Port 24589 User not_a_root_user
然后你可以在shell中testing:
ssh my_git_host
并将<repo_path>/.git/config
SCP样式URI更改为:
url = my_git_host:path/to/repo.git/
尝试这个
git clone ssh://user@32.242.111.21:11111/home/git/repo.git
这避免了你的问题,而不是直接修复它,但我build议添加一个~/.ssh/config
文件,并有这样的事情
Host git_host HostName git.host.de User root Port 4019
那么你可以拥有
url = git_host:/var/cache/git/project.git
你也可以ssh git_host
和scp git_host ...
一切都会解决。
指定端口时,SSH不使用:
语法。 最简单的方法是编辑~/.ssh/config
文件并添加:
主机git.host.de 港口4019
然后指定没有端口号的git.host.de