Existuje několik populárních metod generování certifikátů SSL a TLS v Linuxu. Jednou z nejoblíbenějších metod vydávání certifikátů SSL je Let’s encrypt, což je certifikační autorita, která nabízí bezplatné certifikáty SSL. Existuje ještě jednodušší způsob vydání certifikátu, který nevyžaduje žádné závislosti a požadavky. Skript acme.sh napsaný v prostředí Shell usnadňuje generování a instalaci certifikátů SSL v systémech Linux. V tomto článku se naučíme, jak nainstalovat skript acme.sh v systému Linux a jak jej použít ke generování a instalaci SSL certifikátů.
Instalace acme.sh
Instalace acme.sh je jednoduchý a přímočarý proces. Aplikaci nainstalujte podle následujících kroků.
Metoda 1:Použití příkazu curl
$ curl https://get.acme.sh | sh
Metoda 2:Použití úložiště git
$ git clone https://github.com/acmesh-official/acme.sh.git $ cd ./acme.sh $ ./acme.sh --install
Jakmile je instalace dokončena, spusťte pro ověření následující příkaz.
$ acme.sh --version
Výstup:
Vygenerujte certifikát SSL
Generování SSL certifikátů pomocí acme.sh je velmi jednoduchý proces. Certifikát vygenerujte podle následujících kroků.
Vygenerujte certifikát pro jednu doménu pomocí režimu webroot.
$ acme.sh --issue -d vitux.com -w /home/wwwroot/vitux.com
Vygenerujte certifikát pro více domén ve stejném certifikátu
$ acme.sh --issue -d vitux.com -d www.vitux.com -d example.vitux.com -w /home/wwwroot/vitux.com
Kde,
/home/wwwroot/vitux.com je složka webroot, kde je hostován soubor webové stránky. Nezapomeňte udělit přístup pro zápis do složky webroot.
vitux.com je název domény, který jsem použil ke generování certifikátů SSL. Podle toho můžete vybrat název své domény.
Všechny názvy domén by měly směřovat do stejného adresáře webroot.
Vygenerovaný certifikát SSL bude umístěn v adresáři ~/.acme.sh/
Kde domain-name je adresář vytvořený s vaší doménou poskytnutou při generování certifikátu.
Vydání certifikátu pomocí samostatného serveru
Pomocí následujícího příkazu vygenerujte certifikát SSL pomocí samostatného serveru.
Pro jednu doménu
$ acme.sh --issue --standalone -d vitux.com
Pro více domén
$ acme.sh --issue --standalone -d vitux.com -d www.vitux.com -d example.vitux.com
K naslouchání na TCP portu 80 je potřeba oprávnění uživatele Sudo nebo root. Port 80 musí být volný pro naslouchání na serveru.
Vygenerujte certifikát SSL pomocí samostatného serveru SSL
Pomocí následujícího příkazu vygenerujte certifikát SSL pomocí samostatného serveru SSL. V tomto příkladu jsem pro demonstraci použil doménu linuxways.com. Při generování certifikátu zvažte svůj vlastní název domény.
$ acme.sh --issue --alpn -d vitux.com -d www.vitux.com -d example.vitux.com
K naslouchání na TCP portu 443 je potřeba oprávnění uživatele Sudo nebo root. Nezapomeňte také uvolnit port 443, který chcete poslouchat, jinak se zobrazí výzva k jeho uvolnění.
K generování certifikátů použijte režim Apache
Režim Webroot se doporučuje pro vygenerování ssl certifikátu pro provoz webového serveru. Pokud se jako webový server používá Apache, lze k vydání certifikátu použít režim Apache. Tento režim nezapisuje žádné soubory do adresáře webroot.
Tento režim vyžaduje interakci s webovým serverem Apache, takže musíte mít oprávnění root/sudo.
$ acme.sh --issue --apache -d vitux.com www.vitux.com
Výše uvedený příkaz vygeneruje pouze soubor certifikátu. Chcete-li certifikát nainstalovat, musíte nasměrovat na adresář souboru certifikátu v konfiguračním souboru Apache.
K vydání certifikátu použijte režim nginx
Zejména pokud používáte nginx jako webový server, pak lze místo režimu webroot použít režim nginx. Vše, co potřebujete, je oprávnění root/sudo, protože to komunikuje s webovým serverem nginx. Tento režim nezapíše žádné soubory do adresáře webroot.
$ acme.sh --issue --nginx -d vitux.com www.vitux.com
Výše uvedený příkaz vygeneruje pouze certifikát. Pro instalaci musíte nasměrovat na adresář souboru certifikátu v konfiguračním souboru nginx.
Vydání certifikátu pro doménu se zástupnými znaky
Generování certifikátů pro zástupné domény je snadné. Místo parametru -d použijte zástupnou doménu jako:
$ acme.sh --issue -d vitux.com -d *.vitux.com --dns dns_cf
Parametr –dns určuje, kterého DNS hostitele používáte, dns_cf je zkratka pro cloudflare.
Obnovte certifikát Let's Encrypt SSL pomocí acme.sh
Během instalace acme.sh vytvoří cronjob pro obnovení certifikátu SSL každých 60 dní. Certifikát tedy nemusíte obnovovat ručně. Certifikát však můžete obnovit pomocí vynucení možnost jako:
$ acme.sh --renew -d vitux.com --force
Chcete-li najít úlohu cron, spusťte následující příkaz.
$ crontab -l
Adresář souboru protokolu
Soubor protokolu acme.sh je umístěn v adresáři ~/.acme.sh Generování souboru protokolu není ve výchozím nastavení povoleno. Proveďte následující změny v souboru account.conf.
$ cd ~/.acme.sh $ vi account.conf
Nyní použijte následující příkaz k nalezení vygenerovaného souboru protokolu.
$ cd ~/.acme.sh $ tail -f acme.sh.log
Závěr
V tomto článku jsme se naučili, jak nainstalovat skript acme.sh pro generování certifikátů SSL v systémech Linux. Ukázal jsem vám, jak generovat certifikáty SSL pro více domén najednou a jak certifikáty SSL obnovovat.