LINUX.ORG.RU

GIT. Не клонируется репозиторий с локальной машины.

 


0

1

Добрый день.

Имею git-репозиторий с именем testgit на удаленном хостинге с доступом по ssh в домашней папке /home/b/blastbox/testgit

Этот репозиторий успешно клонируется командой git clone ssh://blastbox@blastbox.beget.tech://home/b/blastbox/testgit

Но этот же репозиторий, расположенный не на удаленном хостинге, а у меня на жестком диске при клонировании на этот же жесткий диск в другую папку вызывает ошибку

bash git clone ssh://blast@localhost://C:/Users/blast/testgit Cloning into ‘testgit’… fatal: ‘‘//C:/Users/blast/testgit’’ 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.

Локальная ОС - Windows, запущен и работает OpenSSH (вход себе же на комп через него проверял командой $ ssh blast@localhost - после ввода пароля вход успешный (как и по ключу), т.е. сам OpenSSH работает нормально, т.е. проблема видимо в команде git clone). Репозиторий testgit лежит в домашней папке пользователя blast (т.е. полный путь C:/Users/blast/testgit)

Также проверял различный формат URL в команде git clone:

git clone blast@localhost://C:/Users/blast/testgit

git clone ssh://blast@localhost://C/Users/blast/testgit

git clone ssh://blast@localhost:/testgit

во всех случаях - та же ошибка что описана выше. Но по формату ещё немного ниже.

Далее, я провел эксперимент. В ~/.ssh/config на клиенте сделал так:

Host beget HostName blastbox.beget.tech User blastbox IdentityFile /C:/Users/blast/.ssh/id_rsa

Что интересно - для входа через ssh эта запись срабатывает прекрасно. А вот эта уже не отработает:

git clone ssh://beget:/home/b/blastbox/testgit

Чтобы она отработала необходимо убрать двоеточие после буквы диска в конфиг-файле, т.е. поменять

IdentityFile /C:/Users/blast/.ssh/id_rsa на IdentityFile /C/Users/blast/.ssh/id_rsa

что странно и может вызвать трудности Но это ладно. Главное что работает для удаленного репозитория. Пробую для своего компа: создаю запись в ~/.ssh/config

Host localhost HostName localhost User blast IdentityFile /C/Users/blast/.ssh/id_rsa

Выполняю и получаю опять ошибку git clone ssh://localhost:/C/Users/blast/testgit Cloning into ‘testgit’… fatal: ‘‘/C/Users/blast/testgit’’ 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.

ssh - это транспорт. На хостинге ты соединяешься через него с git сервером, а на локальном хосте - с обычной командной оболочкой вероятно. Чтобы работало - нужен отдельный юзер с git-shell в качестве командного интерпретатора.

Elyas ★★★★★ ()