Docker TLS - Как создать ключ на локальной машине - PullRequest
0 голосов
/ 12 февраля 2020

Предварительные знания:

Поэтому я сам начал использовать docker, установил его на свой сервер и включил TLS. Я следовал этому уроку: https://docs.docker.com/engine/security/https/

Этот урок в конечном итоге даст вам 6 файлов:

  1. -r -------- ca-key.pem
  2. -r - r - r-- ca.pem
  3. -r - r - r-- cert.pem
  4. -r -------- key.pem
  5. -r - r - r-- server-cert.pem
  6. -r -------- server-key.pem

Владелец Эти файлы root. Я скопировал ca.pem , cert.pem и key.pem , я использовал их для подключения из моего локального экземпляра portainer. (На самом деле я использую только cert.pem и key.pem , поскольку у меня есть только проверка клиента)

DOCKER ВЕДУЩИЙ:

{
  "hosts": [
    "unix:///var/run/docker.sock",
    "tcp://0.0.0.0:2376"
  ],
  "storage-driver": "overlay2",
  "tls": true,
  "tlscacert": "/etc/docker/certs/ca.pem",
  "tlscert": "/etc/docker/certs/server-cert.pem",
  "tlskey": "/etc/docker/certs/server-key.pem",
  "tlsverify": true
}

Моя проблема:

Компания, в которой я работаю, установила для меня docker и включила TLS, поставила все pem файлы в каталоге, к которому я могу получить доступ ... Проблема в том, что я не могу загрузить key.pem , поскольку владельцем является root, и я не получу к нему доступ.

Я могу загрузить следующие файлы:

  1. ca.pem
  2. cert.pem
  3. server-cert.pem

Это возможно для меня; с доступом к этим файлам ТОЛЬКО , ничего не меняя на сервере, для доступа к docker по TLS? Как я могу создать свой собственный key.pem , или есть другой способ?


Извините, если это общеизвестно, я просто не смог найти свой отвечу где-нибудь, или я не знаю, что именно искал ...

Ответы [ 2 ]

2 голосов
/ 12 февраля 2020

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

Загрузите server-cert.pem и экспортируйте следующую среду переменные в вашем локальном сеансе:

DOCKER_TLS_VERIFY="1"
DOCKER_CERT_PATH="server-cert.pem"
DOCKER_HOST= "tcp://HOST:2376"

Теперь вы можете использовать свой локальный клиент docker и работать против демона docker на своем сервере. например, docker ps должен отображать контейнеры, работающие на пульте docker.

1 голос
/ 17 февраля 2020

Закрытые ключи создают сертификаты, вы не можете создать ключ из сертификата. Если ваш docker хочет двустороннюю аутентификацию, вам потребуется доступ к закрытому ключу. Это не может быть сделано без.

Вам понадобятся следующие файлы (для аутентификации клиент-сервер):

  1. ca.pem
  2. cert.pem
  3. key.pem
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...