Есть некоторое количество серверов и репозиторий в гитлабе.
Необходимо, чтобы определенные пользователи данных серверов имели доступ на чтение к данному репозиторию
Ошибка обычно выглядит так:
Продублирую ее, чтобы можно было найти по поиску в будущем
could not read from remote repository gitlab
К гитлабу запрос проходит по такому пути:
Сначала я подумал, что проблема в том, что сервер не может "достучаться" на lb - там настроены вайтлисты.
Добавил ip-адрес в вайтлисты, но это не помогло.
Затем я выяснил, что сейчас схема поменялась и она выглядит вот так:
О чем в общем-то и говорит ошибка нам, что, мол, "не могу достучаться до 22-ого порта"
Окей, я раскатил вайтлисты для ингресса, теперь у нас доступен 22-ой порт:
pinkas@portal-frnx-1:~$ nc -zv 128.140.30.146 22
Connection to 128.140.30.146 22 port [tcp/ssh] succeeded!
Однако! Доступа все равно нет и теперь, кажется, дело в ключе юзера для этого репозитория, потому что под моим юзером, а не юзером разработки, все клонируется успешно:
otulashvili@portal-frnx-1 [pinkas] :~ $ git clone git@gitlab.dats.tech:datsteam/pinkas/pinkas-backend.git
Cloning into 'pinkas-backend'...
The authenticity of host 'gitlab.dats.tech (128.140.30.146)' can't be established.
ED25519 key fingerprint is SHA256:+efgd+0AtG+wf8o3LtlyQ26YhuHWxcu0agD3HOxmv0g.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gitlab.dats.tech' (ED25519) to the list of known hosts.
remote: Enumerating objects: 32432, done.
remote: Total 32432 (delta 0), reused 0 (delta 0), pack-reused 32432 (from 1)
Receiving objects: 100% (32432/32432), 12.35 MiB | 13.27 MiB/s, done.
Resolving deltas: 100% (24581/24581), done.
otulashvili@portal-frnx-1 [pinkas] :~ $ ^C
otulashvili@portal-frnx-1 [pinkas] :~ $ ^C
otulashvili@portal-frnx-1 [pinkas] :~ $ ^C
otulashvili@portal-frnx-1 [pinkas] :~ $ ls
pinkas-backend pinkas.network
Значит проблема с ключами именно у этого юзера. Я нашел ключи (id_rsa
,id_rsa.pub
и known_hosts
) и закинул их в домашнюю директорию юзера с соответствующими правами.
Все заработало! И помогло это потому, что в Gitlab в Deploy Keys я закинул свой публичный ключ, который предварительно сгенерировал под нужным мне пользователем.
Похожие посты: