Git - 在 github 上使用端口 9418 进行远程操作

Posted

技术标签:

【中文标题】Git - 在 github 上使用端口 9418 进行远程操作【英文标题】:Git - Use port 9418 for remote on github 【发布时间】:2013-10-02 03:25:14 【问题描述】:

我正在学校尝试连接到 github,但端口 443 被阻止。

管理员告诉我使用端口 9418,我认为这是 git 协议的默认端口。

但是在 git bash (windows) 中,如果我尝试执行 git remote set-url origin git://github.com/me/myrepo.git 并进行推送,它会告诉我我无法推送到此 URL,而是使用 https://github...

如何配置 git 使用 9418 端口?

【问题讨论】:

对于git协议,默认端口是9418 告诉你的学校 IT 打开端口443。从安全角度来看,你的学校应该允许https://(“安全”,即“加密”,http)而不是大多数其他端口(包括http) 简要说明,即使迟到:“它告诉我我无法推送” git:// 协议是匿名的,只能用于获取、克隆等.,即下载。因此,您不能通过git:// 协议将git push 连接到任何远程。我添加这个 b/c 接受的答案没有解释 为什么 这是这样工作的。 【参考方案1】:

来自github documentation:

您只能推送到两个可写协议 URL 地址之一。这两个包括像 git@github.com:user/repo.git 这样的 SSH URL 或像 https://github.com/user/repo.git 这样的 HTTPS URL。

所以你需要打开 22 或 443 端口才能工作,git 协议是只读的。

【讨论】:

如果端口 22 打开 - 将源设置为 git@github.com:me/myrepo.git 连接到主机 github.com 端口 22:错误文件号致命:无法从远程存储库读取。请确保您具有正确的访问权限并且存储库存在 您可能配置错误或端口 22 已关闭【参考方案2】:

检查:ReadyState4 或 git remote add with other ssh port

一种方式:git remote add origin ssh://git@domain.com:<port>/<project name>


第二种方法:更改.git/config

旧:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@domain.com:<project name>

新:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = ssh://git@domain.com:<port>/<project name>

【讨论】:

以上是关于Git - 在 github 上使用端口 9418 进行远程操作的主要内容,如果未能解决你的问题,请参考以下文章

如何修复“致命:无法查找 https(端口 9418)(不知道这样的主机)

需要在防火墙后面使用 git:尝试 ssh 隧道

如何只允许隧道连接到端口?

git 配置SSH协议

fatal: remote error: The unauthenticated git protocol on port 9418 is no longer support问题解决

fatal: remote error: The unauthenticated git protocol on port 9418 is no longer support问题解决