Подтвердить что ты не робот

Git "не является Git репозиторием" ip и порт вместо домена?

Я пытаюсь перенести свой первый репозиторий Git на экземпляр gitlab, который я установил на debian-VM. Все будет происходить через локальную сеть. Следующие команды отображаются в gitlab после создания нового репо.

mkdir test
cd test
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin [email protected]:1337:Matt/test.git
git push -u origin master

После ввода git push -u origin master это происходит:

[email protected] 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, поэтому я могу достичь GUI через http://xxx.xxx.xxx.xxx:617/Matt/test

Введенный мной пароль кажется правильным, потому что неправильный пароль окажется в сообщении "отказано в доступе". OT: Я не знаю, почему я должен вводить passwd, потому что я сгенерировал и добавил ssh-ключи, как описано в gitlab, но это другая проблема.

4b9b3361

Ответ 1

Я решил свою проблему. Данный порт 1337 не был проблемой, хотя он тоже был неправильным, поскольку ssh, похоже, не может обрабатывать порт в URL-адресе:

Использование удаленного репозитория с нестандартным портом

Git -url, который работал у меня, был:

[email protected]:repositories/Matt/test.git

My Git user home dir находится в /home/git/, а хранилища хранятся в /home/git/repositories, поэтому мне пришлось добавить репозитории в мой Git -path.

Причина, по которой GitLab сказал мне использовать url [email protected]:1337:Matt/test.git, кажется неправильным сконфигурированным способом Git в GitLab. Я попытаюсь исправить это сейчас.

Edit:

Неправильный хост был настроен в /home/git/gitlab/config/gitlab.yml. "Хост" там должен быть без порта... При необходимости есть дополнительный параметр для порта.

Edit3: Все еще не удалось нажать или получить мой тестовый репозиторий без repositories в пути.. https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide#could-not-read-from-remote-repository

Может быть, что-то связано с rsa-ключами, но я не понимаю, как это происходит вместе.

Edit4: (Проблема (ы), кажется, решена) Мои ключи rsa были в порядке. Проблема заключалась в том, что я настроил свой sshd_config, чтобы разрешить только определенный пользователь для ssh-login. Я просто добавил Git в список разрешенных пользователей AllowUsers mylogin git

Теперь мне больше не нужно входить в систему через пароль (вам не нужно входить в систему через пароль, если правильно настроены ключи ssh rsa), и путь работает без "репозиториев", как следует. Теперь я понимаю, что это просто нормальное ssh-соединение - раньше я этого не осознавал.

Как я понял это:

войти через терминал с правами root:

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

====debugging mode===

Затем в Git Bash:

ssh -Tv [email protected]

После этого терминал с запуском sshd в режиме отладки выкинул ошибку, из-за которой Git не может войти в систему из-за AllowUsers...

Не забудьте запустить сервис ssh:

service ssh start

Ответ 2

используйте этот формат:

git remote add origin ssh://[email protected]:1337/Matt/test.git

[email protected]:[port]/path в большинстве случаев мы опускаем порт, и он выглядит так: [email protected]:/path....