git使用免密clone失败

问题遇到的现象和发生背景

使用git clone 时候 连接不上
我已经配置了免密

操作环境、软件版本等信息

仓库使用的gitlab 容器搭建的

尝试过的解决方法

这快验证了免密是可以的

[root@bogon .ssh]# ssh git@192.168.100.10 -p 2222
$ exit
Connection to 192.168.100.10 closed.
#我在 clone 就不可用了
[root@bogon .ssh]# git clone ssh://git@192.168.100.10:2222/root/web.git
Cloning into 'web'...
fatal: '/root/web.git' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
我想要达到的结果

可以正常 clone 的仓库

  1. SSH 免密问题:虽然你已经配置了 SSH 免密,但可能存在某些问题导致你无法成功连接。
* 确保你的公钥已经正确添加到 GitLab 账户设置中。
* 检查 SSH 连接命令是否正确。例如,你的 SSH 命令 `ssh git@192.168.100.10 -p 2222` 中并没有指定端口,确保你有在正确的端口上连接(在本例中应该是2222)。
* 如果仍然无法解决问题,尝试重新生成并添加新的 SSH 密钥。
  1. 仓库地址问题:错误提示中提到 'root/web.git' does not appear to be a git repository,可能的问题是仓库地址不正确或者该仓库不存在。
* 请检查你在 `git clone` 命令中使用的仓库地址是否正确。通常,仓库的 SSH URL 应该类似于 `git@hostname:path/to/repo.git`。在本例中,应该类似 于`git@192.168.100.10:root/web.git`。
* 确保你要克隆的仓库确实存在于 GitLab 上,并且你的用户有访问权限。
  1. 网络问题:可能是由于网络问题导致连接失败。
* 检查你的网络连接是否正常,以及你是否能够成功 SSH 连接到你的服务器。
* 检查防火墙或安全组设置,确保端口 2222 对你的客户端是开放的。
  1. GitLab 配置:确保 GitLab 服务器的 SSH 服务已经正确配置,并且正在运行。
* 检查 GitLab 服务器的 SSH 服务是否正在运行,并确保其监听的是正确的端口(在本例中应该是2222)。
* 如果使用的是 Docker 容器,确保 Docker 容器的网络设置正确,允许 SSH 服务对外暴露。
  1. 克隆命令问题:你的 git clone 命令可能存在问题。通常,使用 SSH URL 的克隆命令应该类似于:
git clone ssh://git@hostname:port/path/to/repo.git

请检查你的命令是否符合这个格式。

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

2