Задача

Есть некоторое количество серверов и репозиторий в гитлабе.
Необходимо, чтобы определенные пользователи данных серверов имели доступ на чтение к данному репозиторию

Ошибка обычно выглядит так:
Pasted image 20250306131827.png
Продублирую ее, чтобы можно было найти по поиску в будущем

could not read from remote repository gitlab

К гитлабу запрос проходит по такому пути:
Pasted image 20250306134950.png
Сначала я подумал, что проблема в том, что сервер не может "достучаться" на lb - там настроены вайтлисты.
Добавил ip-адрес в вайтлисты, но это не помогло.

Затем я выяснил, что сейчас схема поменялась и она выглядит вот так:
Pasted image 20250326154137.png|500

О чем в общем-то и говорит ошибка нам, что, мол, "не могу достучаться до 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 я закинул свой публичный ключ, который предварительно сгенерировал под нужным мне пользователем.


Похожие посты: