Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Category:

Получение сертификата через SSH-туннель

Пришлось мне тут отлаживать проект, который требует приёма входящих веб-запросов по https, но выставлять сервер разработки голой жопой в инет низя. Продакшен "в домике", а для разработки, раз поднимать можно только на локальном ноуте, пришлось запилить статический адрес на хостинге.

А затем на ноут это дело пробрасывается через SSH-туннель. Ключевых моментов аж 4:

- на том конце туннеля в sshd_config должна быть прописана магия GatewayPorts clientspecified
- sshd после прописывания рестартовать обязательно (может быть есть опция reload)
- убедиться что порт не прикрыт фаерволом
- ssh -R 0.0.0.0:443:localhost:4834 -N user@host - все компоненты кроме -N обязательны :)

Далее надо получить https-сертификат от letsencrypt. Для чего я заюзал 2 военных компонента: webfsd и dehydrated. Под шапку 8 ни одного из них нет, но к счастью у меня арч.

на всякий случай для dehydrated я создал "домик" в виде useradd -m dehydrated-user. Делаем туда sudo -iu и создаём файлик config:

WELLKNOWN=/home/dehydrated-user/www/.well-known/acme-challenge
IP_VERSION=4
CONTACT_EMAIL=user@domain

И файлик domains.txt c одной строчкой именем домена на который сертификат. Можно более одного.

our.domain.com

И папочку: mkdir -p www/.well-known/acme-challenge

Пускаем наш webfsd: webfsd -Fd -r www -p 4834

dehydrated -f config --register --accept-terms
dehydrated -f config --account
dehydrated -f config -c

И опля, в certs/certs/our.domain.com появляются нужные файлики, с которыми дальше разбираться теперь

Upd: тьфу, certbot же есть. Причём он и в 8 шапке есть если вдруг чо.
Tags: programming, все пидарасы а я, выебудни
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment