Как дать доступ пользователям на удаленном сервере для работы с gitlab-репозиторием
Есть некоторое количество серверов и репозиторий в гитлабе.
Необходимо, чтобы определенные пользователи данных серверов имели доступ на чтение к данному репозиторию
Ошибка обычно выглядит так:
Продублирую ее, чтобы можно было найти по поиску в будущем
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 я закинул свой публичный ключ, который предварительно сгенерировал под нужным мне пользователем.
Похожие посты:
- ECH в Cloudflare
- Github - Please make sure you have the correct access rights
- Ipsec. No private key found for vpn domain
- Linux Commands
- Freeradius Commands
- Docker Commands
- Minio - The configured bucket does not exist
- Mysql & Mariadb Commands
- Openssl Commands
- Minio Commands
- Bash Styleguide
- Для чего использовать set -e в bash
- Когда следует использовать Bash
- Операторы сравнения в bash
- Переменные в Bash
- Проверки файлов в Bash
- Управляющая конструкция if-then в Bash
- Цикл While в Bash
- Чтение ввода из командной строки в bash
- Библиотека для php генерируется не для той версии
- Как блокировка IP-адреса на уровне OpenResty помогает при проксировании через Cloudflare
- Выпуск сертификата с помощью certbot
- Как изменить версию salt-minion
- Как измерить скорость обращения от одного сервера к другому
- Как обновить php до нужной версии и привести зависимости к нужной версии
- Как подключиться по ssh от root-пользователя
- Как сделать Minio бакет публичным
- Как проверить наличие трафика по домену
- Как сделать пуш в репозиторий с удаленного сервера, не создавая на нем дополнительных ssh-ключей
- Как правильно отключить IPv6 у Сloudflare
- Купил Arduino Starter Kit
- Костыльное продление сертификата для статики
- Малварь в tmp и как я её вычистил
- Настройка механизма подписания коммитов с помощью gpg в github
- Организация домашнего облака
- Настройка awscli для передачи файлов в s3-хранилище
- Настройка Minio как Gateway к S3
- Создание нового бакета в Minio
- Создать cron в Linux
- Pip Python Commands
- open с with и без with