LINUX.ORG.RU

docker + gitlab

 , ,


0

1

Никак не могу законектится на гитлаб доккером через сертификат, выдает ошибку docker login --username user example.com

Error response from daemon: Get https://example.com/v1/users/: x509: certificate signed by unknown authority

Сами сертификаты импортированы в системное хранилище и в /etc/docker/certs.d/example.com. Чего еще ему не хватает?

★★★

Это может показаться смешным, но у меня аналогичная проблема вылечилась рестартом докер-демона.

А вообще его авторы должны за эту «фичу» гореть в аду.

leave ★★★★★ ()
Ответ на: комментарий от CHIPOK

Ну в таких случаях я обычно беру в зубы lsof и strace.

leave ★★★★★ ()
Ответ на: комментарий от leave

из стрейса удалось выцепить только

access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)

libc6-dev установлен.

CHIPOK ★★★ ()
Последнее исправление: CHIPOK (всего исправлений: 1)
Ответ на: комментарий от CHIPOK

Не совсем понимаю, зачем докер ломится к этому файлу, но # touch /etc/ld.so.nohwcap должен решить проблему.

openssl s_client -showcerts -connect example.com:443

выброс?

l0stparadise ★★★★★ ()
Последнее исправление: l0stparadise (всего исправлений: 1)

Кто-то забыл сказать, что за сертификат и какая используется версия докера, а телепаты пока в отпуске.

anonymous ()

Instruct every docker daemon to trust that certificate.
This is done by copying the domain.crt file to /etc/docker/certs.d/myregistrydomain.com:5000/ca.crt.

Не в этом дело?

alestro ()
Ответ на: комментарий от l0stparadise

в выхлоп вываливается 3 сертификата, в одном есть ошибка:

verify error:num=20:unable to get local issuer certificate

что за сертификат и какая используется версия докера

SSL сертификат, Docker version 1.12.5, build 7392c3b

CHIPOK ★★★ ()
Ответ на: комментарий от CHIPOK

В общесистемные(/etc/ssl) добавь CA, которым подписан сертификат сервера gitlab

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

это было первое что я сделал, к сожалению не работает.

CHIPOK ★★★ ()
Ответ на: комментарий от Pinkbyte

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

CHIPOK ★★★ ()
Ответ на: комментарий от CHIPOK

на офф сайте есть по єтому поводу заметка

$ docker push dtr.yourdomain.com/demouser/hello-world
FATA[0000] Error response from daemon: v1 ping attempt failed with error:
Get https://dtr.yourdomain.com/v1/_ping: x509: certificate signed by
unknown authority. If this private registry supports only HTTP or HTTPS
with an unknown CA certificate, please add `--insecure-registry
dtr.yourdomain.com` to the daemon's arguments. In the case of HTTPS, if
you have access to the registry's CA certificate, no need for the flag;
simply place the CA certificate at
/etc/docker/certs.d/dtr.yourdomain.com/ca.crt

но я все также делал с самого начала, и сертификат валидный но лыжи не едут.

Сама авторизация также работает, если добавить в опции запуска демона --insecure-registry example.com то Login Succeeded

CHIPOK ★★★ ()
Последнее исправление: CHIPOK (всего исправлений: 1)
Ответ на: комментарий от CHIPOK

Объедини сертификат сервера и CA в один файл и скорми его гитлабу, как сертификат сервера.

Если вдруг раньше такого не делал - просто копипастни оба сертификата в один файл, обзови его сертификатом и подсовывай.

l0stparadise ★★★★★ ()
Последнее исправление: l0stparadise (всего исправлений: 1)
Ответ на: комментарий от CHIPOK

Смотри, как в общем выглядит классическая цепочка подписи сертификатов. Самый верхний - корневой CA, неоспоримо доверенный сертификат. Как правило, набор таких сертификатов предустановлен в браузере/системе (самые известные - Comodo, Thawte и т.п.). Второй в цепочке - сертификат центра сертификации. Он подписан CA, а значит доверенный. Третий - клиентский сертификат, он подписан сертификатом центра и он выдается клиенту для установки на сервер.

Чтобы проверить валидность клиентского сертификата, проверяются по цепочке все сертификаты вплоть до корневого (английский термин - Chain of trust).

В чем состоит проблема - какой-то сертификат в этой цепочке потерялся, его нет в системе. Есть два варианта решения. Первый назвал Pinkbyte - установить в систему (/etc/ssl) недостающие сертификаты. Второй - объединить недостающие сертификаты в один файл вместе с клиентским (конечный файл называется цепочка сертификатов, или certificate chain).

l0stparadise ★★★★★ ()
Ответ на: комментарий от CHIPOK

Например, вот так выглядит один из моих чейнов, для наглядности. Сверху клиентский сертификат на один из моих доменов, снизу - один из CA Let's encrypt.

-----BEGIN CERTIFICATE-----
Конечно, я удалил большую часть своего сертификата :)
hCSNCM3xxutb7equWP750iV4H3ll0/l0RfVFOtk0LlfLeF6M+755d1g/9epMPFuz
A1UdEQQLMAmCB25hcHAuaXQwgf4GA1UdIASB9jCB8zAIBgZngQwBAgEwgeYGCysG
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
-----END CERTIFICATE-----
l0stparadise ★★★★★ ()
Последнее исправление: l0stparadise (всего исправлений: 1)
Ответ на: комментарий от l0stparadise

Спасибо за помощь, помогло, правда не с этим конкретным хостом, туда у меня доступа нет, но уже вижу где проблема.

CHIPOK ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.