也许你可以帮助我。我有一台通过 SSH 隧道访问的服务器。在此服务器上,我想从 bitbucket 克隆一个 git 存储库,但我猜想 bitbucket 也使用端口 22。那么我如何使用另一个端口将存储库克隆到我的服务器?
供参考 我之所以想出这个解决方案,是因为我正在努力解决一个奇怪的错误。当我尝试在服务器上克隆一个存储库时,程序卡在“克隆到存储库...”。经过一番谷歌搜索后,我发现与存储库服务器的连接“断开了”。所以这就是我猜测的原因——我使用 SSH 连接到它。
谢谢
更新这是控制台输出
root@245:/path/to/dev# git clone [email protected]:123456789/repo.git
Cloning into repo...
就是这样。在“克隆到 dev”之后,它就卡住了……
答案1
运行以获取更多信息。在我的例子中,ssh 客户端尝试连接到 bitbucket 的 IPv6 地址,但显然世界尚未准备好。ssh -vv [email protected]
我必须将其放入 /etc/ssh/ssh_config 的“Host *”部分以禁用通过 IPv6 的 ssh 连接:
AddressFamily inet
答案2
请确保您正在克隆到 nfs 卷。
我遇到了同样的问题,后来我发现我正在将 repo 克隆到挂载在 Linux 服务器上的 cifs 共享卷中,这就是我的问题所在。我改用 nfs 卷解决了这个问题!
答案3
运行 ssh -vv[电子邮件保护]并检查 IP 类型是 IPV4 还是 IPV6。如果是 IPV6,则需要将其更改为 IPV4。更改 grub 配置:
- #sudo nano /etc/default/grub
- 修改这些行: GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1" GRUB_CMDLINE_LINUX="ipv6.disable=1"
- 重新启动 SO(sudo update-grub 对我来说不起作用)
就这样。看起来不错