Git не выглядит как IP-адрес и порт репозитория git вместо домена?

Я пытаюсь зафиксировать свой первый репозиторий 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]'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.xxx:617/Matt/test

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


person mat    schedule 04.06.2013    source источник


Ответы (2)


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

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

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

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

Мой домашний каталог пользователя Git находится в /home/git/, а репозитории хранятся в /home/git/repositories, поэтому мне пришлось добавить репозитории в мой Git-путь.

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

Редактировать:

Неправильный хост был настроен в /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. Я просто добавил 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
person mat    schedule 04.06.2013
comment
Я не уверен, что вам когда-либо придется указывать локальный путь Matt/test.git: 'repositories' никогда не следует упоминать здесь. - person VonC; 04.06.2013
comment
Вы правы: github.com/gitlabhq/gitlab-public-wiki/wiki/ Но я все еще не могу заставить это работать. Все еще пытаюсь ... на этот раз на совершенно свежем Debian Wheezy. - person mat; 04.06.2013
comment
Теперь это похоже на действительное разрешение. +1 - person VonC; 05.06.2013
comment
добавление repositories/сделал это и для меня - person soupdiver; 18.01.2014

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

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

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

person loveni    schedule 04.06.2013
comment
ТЫ! Я также пробовал это. На самом деле сообщение об ошибке, которое я опубликовал, исходит из этой фатальной настройки URL-адреса: «1337/Matt/test.git», похоже, не является репозиторием git. - person mat; 04.06.2013
comment
забыл, что вы не указали протокол, попробуйте этот git remote add origin ssh://[email protected]:1337/Matt/test.git - person loveni; 05.06.2013