{"id":4281,"date":"2022-03-03T07:37:00","date_gmt":"2022-03-03T06:37:00","guid":{"rendered":"https:\/\/esferas.org\/msqlu\/?p=4281"},"modified":"2022-03-08T08:56:25","modified_gmt":"2022-03-08T07:56:25","slug":"debian-11-certbot-gandi-net-y-certificados-comodin","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2022\/03\/03\/debian-11-certbot-gandi-net-y-certificados-comodin\/","title":{"rendered":"Debian 11, certbot, gandi.net y certificados comod\u00edn"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:96,&quot;href&quot;:&quot;https:\\\/\\\/fotos.esferas.org&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:97,&quot;href&quot;:&quot;https:\\\/\\\/eff-certbot.readthedocs.io\\\/en\\\/stable\\\/intro.html&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260415100509\\\/https:\\\/\\\/eff-certbot.readthedocs.io\\\/en\\\/stable\\\/intro.html&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:98,&quot;href&quot;:&quot;http:\\\/\\\/LiveDNS&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:99,&quot;href&quot;:&quot;https:\\\/\\\/github.com\\\/obynio\\\/certbot-plugin-gandi&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260415100515\\\/https:\\\/\\\/github.com\\\/obynio\\\/certbot-plugin-gandi&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:100,&quot;href&quot;:&quot;https:\\\/\\\/packages.debian.org\\\/bullseye\\\/python3-certbot-dns-gandi&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20250614074643\\\/https:\\\/\\\/packages.debian.org\\\/bullseye\\\/python3-certbot-dns-gandi&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-04-15 10:03:52&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-15 10:03:52&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:101,&quot;href&quot;:&quot;https:\\\/\\\/www.linux.it\\\/~ema\\\/posts\\\/letsencrypt-the-manual-plugin-is-not-working&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p>Pues s\u00ed, parece que lo he conseguido al final. Y menos mal. Menudo alivio. <\/p>\n\n\n\n<!--more-->\n\n\n\n<p>A\u00f1os despu\u00e9s de que el proyecto Let&#8217;s Encrypt permitiese el uso de certificados comod\u00edn al fin he conseguido que funcione en Debian 11 con gandi.net como registrador y servidor de DNS de mis dominios. <\/p>\n\n\n\n<p>Hay cosas que arreglar antes pero lo esencial, conseguir los certificados m\u00ednimos para todo tipo de subdominios, est\u00e1 en marcha. Este blog es una prueba de ello aunque el \u00fanico subdominio sea la <a href=\"https:\/\/fotos.esferas.org\" target=\"_blank\" rel=\"noreferrer noopener\">galer\u00eda de fotos<\/a> funcionando (cuando quiere) con Piwigo. <\/p>\n\n\n\n<p>El proceso sigue siendo complejo para m\u00ed porque <a href=\"https:\/\/eff-certbot.readthedocs.io\/en\/stable\/intro.html\" target=\"_blank\" rel=\"noreferrer noopener\">certbot<\/a>, el programa que gestiona certificados, ha evolucionado mucho y tiene opciones que nunca he empleado. Tantas que se hace dif\u00edcil de verdad entender el proceso a menos que te dediques en exclusiva a ello. En mi caso s\u00f3lo pretendo crear certificados, usarlos y que se renueven autom\u00e1ticamente. <\/p>\n\n\n\n<p>En el sistema hay que tener disponible lo siguiente: <\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Clave del API de Gandi, con los DNS del dominio empleando su sistema <a href=\"http:\/\/LiveDNS\" target=\"_blank\" rel=\"noreferrer noopener\">LiveDNS<\/a>. <\/li><li>Instalado el paquete certbot. La versi\u00f3n de Debian 11 como m\u00ednimo. La de Debian 10 es demasiado antigua. Por eso he tenido que emplear el servidor de esferas.org y no el de taquiones.net.<\/li><li>Instalado el <a href=\"https:\/\/github.com\/obynio\/certbot-plugin-gandi\" target=\"_blank\" rel=\"noreferrer noopener\">complemento de autentificaci\u00f3n<\/a> de certbot para gandi.net: <a href=\"https:\/\/packages.debian.org\/bullseye\/python3-certbot-dns-gandi\">python3-certbot-plugin-gandi<\/a>. <\/li><\/ol>\n\n\n\n<p>Para emplearlo correctamente la documentaci\u00f3n es de lo m\u00e1s confusa. El principal problema es que el programa <em>certbot<\/em> no permite configurar complementos desde archivos. Al menos por ahora, que parece que est\u00e1n replante\u00e1ndose varias cosas del desarrollo y no acepta nuevas incorporaciones. Es por eso que hay que utilizarlo en parte desde los par\u00e1metros en la llamada. <\/p>\n\n\n\n<p>As\u00ed que lo \u00fanico que hay que tocar, aparentemente, el archivo <em>\/etc\/letsencrypt\/cli.ini<\/em> es el tipo de autentificaci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Definici\u00f3n de mecanismo de autentificaci\u00f3n anterior (ahora comentado:\n#webroot\n#webroot-path = \/var\/www\/letsencrypt\n<\/pre>\n\n\n\n<p>La clave del API s\u00ed que es posible indicarla desde un archivo. Se crea uno  -por ejemplo- en la ruta <em>\/etc\/letsencrypt\/gandi.ini<\/em> con el contenido:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Clave API de gandi.net\ndns_api_key=XXXXXXXXXXXXXX\n<\/pre>\n\n\n\n<p>Y ahora comprobamos que el complemento est\u00e9 correctamente instalado: <\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-small-font-size\">root@esferas:\/etc\/letsencrypt# certbot plugins\nSaving debug log to \/var\/log\/letsencrypt\/letsencrypt.log\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n* dns\n<strong>Description: Obtain certificates using a DNS TXT record (if you are using Gandi\nfor DNS).<\/strong>\nInterfaces: IAuthenticator, IPlugin\nEntry point: dns = certbot_plugin_gandi.main:Authenticator\n\n* standalone\nDescription: Spin up a temporary webserver\nInterfaces: IAuthenticator, IPlugin\nEntry point: standalone = certbot._internal.plugins.standalone:Authenticator\n\n* webroot\nDescription: Place files in webroot directory\nInterfaces: IAuthenticator, IPlugin\nEntry point: webroot = certbot._internal.plugins.webroot:Authenticator\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\nroot@esferas:\/etc\/letsencrypt# \n<\/pre>\n\n\n\n<p>Si todo va bien solicitamos la creaci\u00f3n del primer certificado con la siguiente l\u00ednea de \u00f3rdenes:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code lang=\"bash\" class=\"language-bash\">certbot certonly -a dns --dns-credentials \/etc\/letsencrypt\/gandi.ini -d taquiones.net -d \\*.taquiones.net<\/code><\/pre>\n\n\n\n<p>Y \u00e9l solito hace todo el trabajo. Si la clave funciona correctamente y todos los servicios de Let&#8217;s Encrypt est\u00e1n en activo tendremos la salida habitual del proceso indic\u00e1ndonos d\u00f3nde est\u00e1n los certificados. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"enlaces-y-referencias\">Enlaces y referencias<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.linux.it\/~ema\/posts\/letsencrypt-the-manual-plugin-is-not-working\/\" target=\"_blank\" rel=\"noreferrer noopener\">certbot renew: An authentication script must be provided<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Pues s\u00ed, parece que lo he conseguido al final. Y menos mal. Menudo alivio.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[14],"tags":[18,699,1046,41,693,35,1157],"class_list":["post-4281","post","type-post","status-publish","format-standard","hentry","category-internet","tag-administracion-de-sistemas","tag-certbot","tag-certificados-digitales","tag-debian","tag-gandi-net","tag-seguridad","tag-webroot"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/4281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=4281"}],"version-history":[{"count":8,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/4281\/revisions"}],"predecessor-version":[{"id":4303,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/4281\/revisions\/4303"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=4281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=4281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=4281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}