Migrer un certificat certbot sur nouveau support mémoire

Bonjour,

Je suis sûr que j’ai mal cherché. La réponse doit se trouver quelque part ici. Mais je dois être bourrin ce soir.

Voilà. Grace à @bronche et sa super idée d’images prêtes à consommer :wink: , je me suis lancé pour régler un problème qui me fatiguait beaucoup: Virer ma carte mémoire (sur pi) pour mettre à la place une clé usb.

Tout s’est bien passé et j’ai pu rapidement y réinstaller un backup de mon Jeedom . Parfait!

Me restait une dernière étape: Pouvoir y accéder au travers mon DNS et donc en https. Ma carte SD contient le fameux certificat Certbot. Je n’ai pas trouvé (où j’ai mal cherché, … probablement) comment « migrer ce certificat ».

À tout hasard j’ai donc suivi la procédure pour installer un certificat, après tout pourquoi pas. Et évidemment cela a fini par me donner cela:
image

Je ne vais pas persister ce soir, en général c’est le moment où je suis le moins performant et donc générateur de plus de problèmes que de solutions.

Merci par avance pour votre aide.

hello,
http://www.domotique.idfi-solutions.com/ => ne fonctionne pas
http://domotique.idfi-solutions.com/ => fonctionne

tu demandes à letsencrypt de faire un challenge http-01, donc il se connecte en http sur le port 80. cependant il ne contacte pas le domaine.
Jai testé sans les www. et je suis arrivé sur la page de login jeedom, il te faut donc virer www. (ou alors créer un CNAME supplémentaire dans ta zone dns)

Zut! … quand je dis que le soir je suis sujet à faire des …

Merci pour ta réponse,

Non je ne vais pas créer un autre nom de DNS. Dans ce cas je fais quoi? Je recommence le processus de création de certificat à zéro en enlevant le www.?

Surtout, ce qui m’embête, c’est d’être accessible sur le web par le port 80. Si j’ai bien compris la procédure que je suivais, normalement, ensuite cela aurait dû me demander si je désirais rediriger automatiquement vers port 443. Pas vu.

Je vais attendre un peu quelques propositions plutôt que de faire n’importe quoi.

Merci par avance :blush:

Hello,

Il y a 2 étapes possibles:

  • Récupérer le certificat actuel : Ouvrir le fichier /etc/apache2/sites-available/000-default.conf
    Dedans il y a 3 lignes :
    SSLCertificateFile /etc/letsencrypt/live/domain.tld/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/domain.tld/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/domain.tld/chain.pem

Comme leurs noms l’indiquent, il y a le certificat du domaine, la clé privée et la chaine de certification…
Pour avoir du https ailleurs ces 3 fichiers sont suffisants

  • Récupérer toutes les infos/config de certbot pour l’utiliser ailleurs.
    Dans ce cas, il faut copier/remplacer toute l’arborescence de /etc/letsencrypt, après l’installation de let’sencrypt sur la nouvelle machine

Après on peut très bien avoir plusieurs certificats en parallèle… Du moment qu’on dépasse pas la limite fixée par let’sencrypt, il n’y a pas de souci

1 « J'aime »

Allo @naboleo,

On se croise souvent ces derniers temps :wink:

Me manque une toute petite brique pour le faire: Le comment?

J’avais modifié il y a longtemps mon pi pour qu’il boot sur USB. Ce dont je ne me souviens plus c’est si il boot dessus alors que la carte mémoire est encore en place. Dans ce cas, c’est ok. Il me faut simplement savoir comment je navigue de l’un à l’autre en lignes de codes. Je suis encore assez raz les pâquerettes en codage pi … mais ca vient doucement.

Mais, je n’ai pas essayé cette config. Comprendre que j’ai enlevé la carte mémoire pour laisser uniquement la clé USB. Donc si effectivement c’est cela qu’il faut faire, alors il me faut pouvoir sauvegarder ces fichiers quelque part provisoirement.

Une autre clé USB?
Cette solution? Transférer facilement des fichiers sur son Raspberry Pi | Raspberrypis.Net.

Au fait, je ne crois pas que cette manip redirigera les connexions de 80 vers 443. Comment ensuite puis-je y arriver?

Gros merci!

Effectivement, il y a quelques sujets communs :wink:

Pour vérifier sur quelle partition ça boote

findmnt -n -o SOURCE /

/dev/sdaX => disque SSD
/dev/mmcblk0p2 => Carte SD

Pour monter temporairement la carte (c’est là j’imagine que les certificats sont) :

sudo mkdir -p /mnt/sdcard
sudo mount /dev/mmcblk0p2 /mnt/sdcard

A partir de là il devrait y avoir un fichier /mnt/sdcard/etc/apache2/sites-available/000-default.conf et peut-être un /mnt/sdcard/etc/apache2/sites-available/000-default-ssl.conf

L’ancien / devient /mnt/sdcard/

Et pour la redirection 80 => 443, voilà un exemple :

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog /var/www/html/log/http.error
</VirtualHost>

Devient un truc du genre

Listen 443

<VirtualHost *:80>
	RewriteEngine on
	RewriteCond %{HTTPS} !=on
	RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>


<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog /var/www/html/log/http.error

	SSLEngine on
	SSLCertificateFile /etc/letsencrypt/live/domain.tld/cert.pem
	SSLCertificateKeyFile /etc/letsencrypt/live/domain.tld/privkey.pem
	SSLCertificateChainFile /etc/letsencrypt/live/domain.tld/chain.pem 
</VirtualHost>

L’idée c’est dans le premier bloc de rediriger TOUT du port 80, vers l’équivalent en 443
Par contre ta config peut être un peu différente, donc c’est uniquement théorique…
Il faut aussi penser à virer le contenu de /etc/apache2/sites-available/default-ssl.conf qui contient une config par défaut pour le SSL
A voir aussi s’il ne faut pas activer les modules d’apache

sudo a2enmod ssl && sudo a2enmod rewrite && sudo service apache2 restart

Gros merci :+1:

Le temps de me lever et bruncher (on est -6h) et je regarde tout cela.

Je ne manquerai pas alors de faire connaitre le résultat.

ça roule :+1: j’veux bien un peu de sirop d’érable… il va être 16h ici :joy:

Tu en veux combien de cans? :wink:

Bon, allez, je m’y mets!

1 « J'aime »

L’occasion que je suis bien le Nulll que je prétends:

Ton test montre que je boot sur la carte SD et non sur la clé USB.

J’ai ensuite fait cela. J’en ai profité pour me documenter sur « mount » et j’ai bien fait car ce n’est pas ce que je croyais:

Ensuite, j’ai improvisé. J’ai édité avec nano

image

Visiblement, la personne qui m’avait aidée à l’époque et fait la manip à distance, a intégré là la redirection.

Ton deuxième lien amène à un fichier vide.

Donc, en attendant quelques éclaircissements, je vais chercher comment je me positionne sur le fichier de l’usb pour le modifier. Ensuite comment on fait un copier / coller (ou autre méthode pour transférer les lignes de la carte SD dans la clé USB.

C’est pas grave tant que ça marche, rien n’est cassé.

Alors là, c’est quand même pas propre :
redirect permanent et les 3 rewrite du dessous font la même chose… Mais le redirect suffit à ne jamais passer par les lignes qui suivent…

Il faut regarder tous les fichiers conf du répertoire (et tant qu’aà faire dans le répertoire sites-enabled aussi) et mettre la main sur celui qui contient la ligne *:443

Pendant ce temps j’ai fait un find sur /etc/letsencrypt/


Peut-être effectivement je devrais substituer tous le dossier letsencrypt dans la clé usb … mais comment?

Avant de le faire et de risquer que ça marche encore moins bien, il faut trouver la config apache.
Et puis c’est la version SD ou SSD ?

Heuuuuuuu, tu veux dire quoi là (hi han)???

Dois-je utiliser cela pour faire les manips sinon?
http://www.octetmalin.net/linux/tutoriels/cp-copier-fichier-et-dossier-en-ligne-de-commande.php

Tu évoques 2 support différents :

  • une carte SD (montée en /)
  • un disque SSD

Si le disque SSD n’est pas exploité ce que j’en déduit des infos précédentes, tu risques de ne pas pourvoir copier quoique ce soit dessus… (et en plus ça sert à rien pour l’instant)
J’avais juste besoin de confirmer que la liste des fichiers ci-dessus est celle issue de la carte SD

Ah oui! C’est ce que j’avais déduis en faisant ton test du boot (avec les 2 sur le Raspberry cette fois). Il était reparti sur la carte SD et non la clé USB. Donc, logiquement, tout ce que je vois et monte viens de la carte SD

Alors à mon avis la bonne démarche si tu veux basculer sur le SSD c’est :

  • Installer un nouveau jeedom, tout propre sur le SSD (éventuellement avec une petite carte SD qui traine pour le premier démarrage). Comme ça tu gardes la carte SD opérationnelle et intacte.

Quand les 2 installations fonctionnent

  • Faire un backup de l’ancienne installation
  • Restaurer sur la nouvelle installation
  • Faire la sécurisation HTTPS sur la nouvelle installation

Donc exactement ce que j’ai fait hier, je recommence :worried:

Sauf que je suis parti de l’image de @bronche

Y a tout de même des choses qui m’échappent. Mais je vais fouiller. C’est comme cela que je vais apprendre et surtout comprendre.

Merci quand même :blush:

1 « J'aime »

Finalement la question est:

COMMENT AI-JE PU PASSER À CÔTÉ DE CELA???

Quand j’ai embarqué dans l’aventure Jeedom il y a un an, j’ai pris la première carte SD qui trainait sur mon bureau … une 64Gb. J’ignorais alors que c’était sensible.

Lorsque j’ai pris conscience que c’était une bombe à retardement, j’ai pensé que bêtement je pouvais cloner sur un autre support (J’utilise Acronis dans mon univers Windows habituel). Mais mes sources m’ont dit que c’était loin d’être simple et qu’il me fallait un support d’au moins la même capacité. Pas de chance, tous les supports 64Gb que j’ai pu acheter ensuite de 64Gb se révélaient finalement légèrement inférieurs. J’allais tout de même pas acheter du 128Gb pour une installation qui en demande 16 !!!

D’où l’idée de repartir à neuf mais en prenant un raccourci grâce aux images de @bronche. Mais je buttais (et encore) toujours sur cette histoire de https qui m’a fait créer ce sujet.

Avant de re recommencer à zéro, je me suis dit que ce serait une bonne idée de cloner ma nouvelle clé usb sur sa sœur jumelle (j’ai acheté un paquet de 3 (donc strictement identiques) et de 64Gb. Pas trouvé moins ce jour là. Je m’en sors pas :grin:) avant de me livrer à des modifications hasardeuses dessus. Ainsi je gagne du temps de ne pas repartir à zéro à chaque fois.

Je fais une tentative avec Acronis: Echec. Avec un logiciel téléchargé (EasyUs): Echec.

Et c’est là que je suis tombé à la renverse (presque au sens propre). En tout cas vraiment sidéré je suis tombé sur un autre beau cadeau de @bronche:

[Tuto] : cloner sa SD ou son SSD en 3 lignes de commandes

Simple (d’utilisation), efficace, rapide. Bref génial et un grand soulagement d’avoir enfin pu arrêter le tic tac du retardateur de la bombe … enfin :+1: :+1: :+1: :+1: :sweat_smile:

Et si j’avais trouvé de plus petites capacités mémoire, cela aurait marché quand même. Vraiment chouette.

Grace à cela, mon pi tourne sur sur l’image de la toute première version et normalement je n’ai plus à m’inquiéter ( tant que j’ai un clone de ce qui tourne en réserve).

Mais, je reste tout de même sur l’idée que tout monter moi-même de A-Z me permettra de mieux comprendre les fondamentaux qui m’échappent encore. Je vais donc continuer de chercher à pouvoir me connecter https une fois le certificat installé. Mais cette fois j’aurai toujours sous la main une SSD propre où il ne reste plus que l’étape du certificat.

Que de temps gagné et … de sérénité … keep cool :crazy_face:

Alors je me répète la question: Comment ai-je pu passer à côté de cela alors que cela a été publié il y a 3 ans??? Mais il n’y a que moi qui peut y répondre :thinking: :wink: