Git“似乎不是 git 存储库"ip和端口而不是域? [英] Git "does not appear to be a git repository" ip and port instead of domain?

查看:12
本文介绍了Git“似乎不是 git 存储库"ip和端口而不是域?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将我的第一个 Git 存储库提交到我在 debian-VM 上设置的 gitlab 实例.一切都将通过本地网络发生.创建新仓库后,以下命令在 gitlab 中显示.

I'm trying to commit my first Git repository to a gitlab instance, which I've set up on a debian-VM. Everything is going to happen via local network. The following commands are shown in gitlab after creating a new repo.

mkdir test
cd test
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@10.200.3.248:1337:Matt/test.git
git push -u origin master

进入git push -u origin master后会出现这种情况:

After entering git push -u origin master this happens:

git@10.200.3.248's password:
fatal: '1337:Matt/test.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.

问题可能出在运行 Git 的端口上吗?Gitlab 可通过端口 617 访问,因此我可以通过 http://xxx.xxx.xxx 访问 GUI.xxx:617/马特/测试

Could the problem be the port on which Git is running at? Gitlab is accessible through port 617 so I'am able to reach the GUI via http://xxx.xxx.xxx.xxx:617/Matt/test

我输入的密码似乎是正确的,因为错误的密码最终会出现权限被拒绝"消息.OT:我不知道为什么要输入密码,因为我已经生成并添加了 ssh-keys,如 gitlab 中所述,但这是另一个问题.

The password I've entered seems to be correct, because a wrong password will end up in a "permission denied" message. OT: I don't know why I've to enter a passwd, because I've generated and added ssh-keys, as described in gitlab, but that's an other problem.

推荐答案

我已经解决了我的问题.给定的端口 1337 不是问题,虽然它也是错误的,因为 ssh 似乎无法处理 url 中的端口:

I've solved my problem. The given port 1337 wasn't the problem, although it was wrong too, because ssh does not seem to be able to handle a port in url:

使用非标准端口的远程存储库

对我有用的 Git-url 是:

The Git-url which worked for me was:

git@10.200.3.248:repositories/Matt/test.git

我的 Git 用户主目录位于 /home/git/ 并且存储库存储在 /home/git/repositories 所以我必须将存储库添加到我的Git 路径.

My Git user home dir is located in /home/git/ and the repositories are stored in /home/git/repositories so i had to add repositories to my Git-path.

GitLab 告诉我使用 url git@10.200.3.248:1337:Matt/test.git 的原因似乎是 GitLab 中配置的 Git 路径错误.我现在会尝试解决这个问题.

The reason why GitLab told me to use the url git@10.200.3.248:1337:Matt/test.git seems to be a wrong configured Git path in GitLab. I'll try to fix this now.

/home/git/gitlab/config/gitlab.yml中配置了错误的主机.那里的主机"必须没有端口...如果需要,端口还有一个额外的选项.

The wrong host was configured in /home/git/gitlab/config/gitlab.yml. The "host" there must be without port... There is an extra option for the port if needed.

如果路径中没有 repositories,仍然无法推送或获取我的测试存储库.https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide#could-not-read-from-remote-repository

Still unable to push or fetch my test-repository without repositories in path.. https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide#could-not-read-from-remote-repository

也许与 rsa-keys 有关,但我不明白它是如何归类的.

Maybe something to do with rsa-keys but I don't understand how this belongs together.

Edit4:(问题似乎已解决)我的 RSA 密钥没问题.问题是我已将 sshd_config 配置为仅允许特定用户进行 ssh 登录.我只是将 Git 添加到允许用户列表中 AllowUsers mylogin git

(Problem(s) seem to be solved) My rsa-keys were ok. The problem was that I've configured my sshd_config to allow only a certain user for ssh-login. I've simply added Git to the list of allowed users AllowUsers mylogin git

现在我不再需要通过密码登录(如果正确设置了 ssh rsa 密钥,则您永远不必通过密码登录)并且路径可以在没有存储库"的情况下正常工作.现在我明白了,这只是一个普通的 ssh 连接——我以前没有意识到这一点..

Now I don't have to login via password anymore (You never have to login via password if ssh rsa keys are set up correctly) and the path works without "repositories" as it should. Now I understand, that this is just a normal ssh-connection - I hadn't realized this before..

我想出来的方法:

以 root 身份通过终端登录:

login via terminal as root:

service ssh stop #Current SSH-Connection won't be closed..
/usr/sbin/sshd -d

====debugging mode===

然后在 Git Bash 中:

Then in Git Bash:

ssh -Tv git@gitlab.example.com

之后在调试模式下运行 sshd 的终端抛出了一个错误,Git is not allowed login because of AllowUsers...

Afterwards the terminal with sshd running in debug mode has thrown an error that Git is not allowed to login because of AllowUsers...

之后别忘了启动你的 ssh 服务:

Don't forget to start your ssh service afterwards:

service ssh start

这篇关于Git“似乎不是 git 存储库"ip和端口而不是域?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆