Installer certbot sur raspberry [Résolu]

artemis0 858 Messages postés vendredi 3 janvier 2014Date d'inscription 31 décembre 2017 Dernière intervention - 8 déc. 2017 à 16:16 - Dernière réponse : artemis0 858 Messages postés vendredi 3 janvier 2014Date d'inscription 31 décembre 2017 Dernière intervention
- 15 déc. 2017 à 17:54
bonjour,

je ne parviens pas à installer certbot sur my rpi (raspbian jessie). Pourriez-vous m'aider ? merci

pi@myrpiproject:~ $ sudo -s
root@myrpiproject:/home/pi# sudo apt-get install python-certbot-apache -t jessie-backports
Reading package lists... Done
E: The value 'jessie-backports' is invalid for APT::Default-Release as such a release is not available in the sources
root@myrpiproject:/home/pi#


root@myrpiproject:/home/pi# sudo add-apt-repository ppa:certbot/certbot         You are about to add the following PPA to your system:
This is the PPA for packages prepared by Debian Let's Encrypt Team and backported for Ubuntu(s).
More info: https://launchpad.net/~certbot/+archive/ubuntu/certbot
Press [ENTER] to continue or ctrl-c to cancel adding it

Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 167, in <module>
sp = SoftwareProperties(options=options)
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 105, in __init__
self.reload_sourceslist()
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 595, in reload_sourceslist
self.distro.get_sources(self.sourceslist)
File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 89, in get_sources
(self.id, self.codename))
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/jessie
root@myrpiproject:/home/pi#
Afficher la suite 

10 réponses

Répondre au sujet
mamiemando 28119 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 13 janvier 2018 Dernière intervention - Modifié par mamiemando le 9/12/2017 à 19:36
0
Utile
1
Bonjour,

Peux-tu nous reporter le contenu de
/etc/apt/sources.list
? Il n'y a a priori aucune raison d'utiliser des dépôts tiers ou backport pour installer
certbot
.
https://packages.debian.org/stretch/certbot

Pour ouvrir et modifier ce fichier tu peux utiliser nano :

sudo nano /etc/apt/sources.list


A priori il suffirait de changer la version de debian interrogée (e.g.
 jessie-backport
) en
stable
.
artemis0 858 Messages postés vendredi 3 janvier 2014Date d'inscription 31 décembre 2017 Dernière intervention - 11 déc. 2017 à 20:43
merci de cette réponse. entre temps, j'ai réinstallé un os propre juste pour voir (stretch) mais ça fait pareil.

pi@myrpiproject:~ $ cat /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
deb-src http://archive.raspbian.org/raspbian/ stretch main contrib non-free rpi
pi@myrpiproject:~ $


Pour ouvrir et modifier ce fichier tu peux utiliser nano :
je suis pas nul à ce point là :)
Commenter la réponse de mamiemando
mamiemando 28119 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 13 janvier 2018 Dernière intervention - 12 déc. 2017 à 10:02
0
Utile
5
Après avoir regardé les miroirs listés dans ton
/etc/apt/sources.list
ceux-ci ne semblent pas fournir
certbot
. Pour confirmer peux-tu me reporter le résultat de :

apt-cache search certbot


Ce que je te propose c'est de voir si en récupérant manuellement certbot depuis un miroir debian tu parviens à l'installer :
https://packages.debian.org/stretch/certbot

sudo apt-get update
sudo apt-get upgrade
wget http://ftp.fr.debian.org/debian/pool/main/p/python-certbot/certbot_0.10.2-1_all.deb
sudo dpkg -i certbot_0.10.2-1_all.deb


S'il te manque des dépendances, essaye au préalable de les installer avec
apt-get
.

sudo apt-get -f install
sudo dpkg -i certbot_0.10.2-1_all.deb


Bonne chance
artemis0 858 Messages postés vendredi 3 janvier 2014Date d'inscription 31 décembre 2017 Dernière intervention - 12 déc. 2017 à 20:59
merci de ton aide. apparemment c'est bon :

pi@myrpiproject:~ $ dpkg --get-selections | grep certbot
certbot install
python-certbot install
pi@myrpiproject:~ $


Mais j'ai un nouveau problème :
root@myrpiproject:/home/pi# sudo certbot certonly -d mondomaine.fr
Saving debug log to /var/log/letsencrypt/letsencrypt.log

How would you like to authenticate with the ACME CA?
-------------------------------------------------------------------------------
1: Place files in webroot directory (webroot)
2: Spin up a temporary webserver (standalone)
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Obtaining a new certificate
Performing the following challenges:
tls-sni-01 challenge for mondomaine.fr
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. mondomaine.fr (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Timeout

IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: mondomaine.fr
Type: connection
Detail: Timeout

To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you're using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.
root@myrpiproject:/home/pi#


Il me dit que la connexion a échoué, pourtant, depuis le web j'accède à mon serveur web avec l'url et le domaine que j'ai entré dans certbot. De plus, j'utilise mon domaine pour me connecter en SSH à ma rpi, donc l'ip qui correspond au domaine est forcément bonne... je ne comprends pas...
Les ports sont bien ouverts, vu que j'accède à mon site (qui est sur ma rpi chez moi) depuis l'extérieur. Ma rpi est connectée directement à ma box.

ps : j'ai remplacé mon vrai domaine par "mondomaine.fr"

après, peut-être que ça échoue car c'est un sous domaine : .hopto.org?
(dns gratuit à renouveler tous les mois)
Judge_DT 21779 Messages postés vendredi 5 février 2010Date d'inscriptionModérateurStatut 14 janvier 2018 Dernière intervention > artemis0 858 Messages postés vendredi 3 janvier 2014Date d'inscription 31 décembre 2017 Dernière intervention - 12 déc. 2017 à 21:17
Salut,

En "Standalone" il faut que le serveur web temporaire de Certbot puisse fonctionner, il faut donc au préalable coupé celui qui existe... Si par exemple tu as un apache qui écoute, celui de certbot ne pourra pas écouter sur le port en question et donc, la connexion ne pourra se faire.

Si tu as un serveur web existant, avec un répertoire, utilise la 1ère méthode en webroot, ainsi il utilisera le serveur existant en plaçant les fichiers dans un répertoire accessible depuis le web pour vérifier.
artemis0 858 Messages postés vendredi 3 janvier 2014Date d'inscription 31 décembre 2017 Dernière intervention - 12 déc. 2017 à 21:46
merci de cette réponse. mais ça ne change rien :
root@myrpiproject:/home/pi# service nginx stop
root@myrpiproject:/home/pi# sudo certbot certonly
Saving debug log to /var/log/letsencrypt/letsencrypt.log

How would you like to authenticate with the ACME CA?
-------------------------------------------------------------------------------
1: Place files in webroot directory (webroot)
2: Spin up a temporary webserver (standalone)
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Please enter in your domain name(s) (comma and/or space separated) (Enter 'c'
to cancel):mondomaine.fr
Obtaining a new certificate
Performing the following challenges:
tls-sni-01 challenge for mondomaine.fr
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. mondomaine.fr (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Timeout

IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: mondomaine.fr
Type: connection
Detail: Timeout

To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you're using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.



root@myrpiproject:/home/pi# netstat -paunt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 21211/sshd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2093/mysqld
tcp 0 272 192.168.1.x:22 xxxxxxxxxxx:5121 ESTABLISHED 18807/sshd: pi [pri
tcp 0 0 192.168.1.x:22 xxxxxxxxxx:4722 ESTABLISHED 18691/sshd: pi [pri
tcp6 0 0 :::22 :::* LISTEN 21211/sshd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 311/avahi-daemon: r
udp 0 0 0.0.0.0:33332 0.0.0.0:* 311/avahi-daemon: r
udp 0 0 0.0.0.0:68 0.0.0.0:* 329/dhcpcd
udp6 0 0 :::5353 :::* 311/avahi-daemon: r
udp6 0 0 :::32811 :::* 311/avahi-daemon: r
root@myrpiproject:/home/pi#
Judge_DT 21779 Messages postés vendredi 5 février 2010Date d'inscriptionModérateurStatut 14 janvier 2018 Dernière intervention > artemis0 858 Messages postés vendredi 3 janvier 2014Date d'inscription 31 décembre 2017 Dernière intervention - 12 déc. 2017 à 21:57
Rassure-moi, ton réseau autorise les connexions sur le port 80 et 443 en entrée ?

Car ce sont les ports que vérifie certbot, il faut donc qu'il puisse se connecter en 80 et 443 vers le réseau local que tu possèdes.

La vérification en tls-sni-01 nécessite que l'outil puisse accéder au réseau de la machine vers un port 443, tandis que le challenge via http-01 doit utiliser le port 80.

Mais, il ne faut pas oublier, que l'usage du https implique en principe l'accès au port 443, en dehors ça peut parfois pas/mal être supporté/géré/utilisable par les logiciels et navigateurs.

En principe, si on utilise la configuration manuelle (en ligne de commande), avec l'argument
--standalone
, on peut préciser
--preferred-challenges http
pour forcer la vérification via le port 80, mais ça implique d'utiliser la création en ligne de commande, et non via l'interface "assistée" que tu as, en exécutant la commande, sans détail sur son fonctionnement.

Au besoin,

Un peu de lecture : https://certbot.eff.org/docs/using.html

Tout y est expliqué dans la doc, sur le fonctionnement des méthodes d'authentification, de la gestion des différents types de challenges (et comment les utiliser), ainsi que les modules qui existent pour incorporer la vérification aux serveurs web déjà en place.
artemis0 858 Messages postés vendredi 3 janvier 2014Date d'inscription 31 décembre 2017 Dernière intervention - 15 déc. 2017 à 17:54
mon problème semble être résolu :
c'était en effet à cause des ports. Mon port 443 interne correspondait à un autre port sur l'interface externe de ma box... bref. merci de votre aide et votre temps
Commenter la réponse de mamiemando
mamiemando 28119 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 13 janvier 2018 Dernière intervention - 13 déc. 2017 à 09:48
0
Utile
1
Bonjour,

IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: mondomaine.fr
Type: connection
Detail: Timeout


L'erreur semble signifier que soit ton host (www.mondomaine.fr) n'est soit pas résolu, soit le serveur web associé, supposé écouter sur le port 80 (http) et/ou 443 (https) n'est pas joignable depuis une machine extérieur à ton réseau (par exemple parce que les ports 80 et 443 associés à l'IP du serveur, j'imagine ton IP publique, ne sont pas redirigés vers ta machine raspbian). Il faut également que ces ports ne soient pas filtrés par ta machine raspbian.

Tu peux m'envoyer en message privé le nom exact de ton host, et je pourrai t'en dire plus. Plus généralement il faudra que tu fasses quelques tests depuis une machine cliente qui n'accès de pas à Internet via ta box (en admettant que le raspbian soit relié à Internet via ta box), par exemple un mobile connecté en 4G, une machine à ton travail, etc...

Bonne chance
Judge_DT 21779 Messages postés vendredi 5 février 2010Date d'inscriptionModérateurStatut 14 janvier 2018 Dernière intervention - 13 déc. 2017 à 16:05
En l'occurrence, avec le challenge de type tls-sni, c'est le port 443 qui semble innacessible depuis l'extérieur. ;-))

Soit pas ouvert sur le NAT, soit mal redirigé, soit filtré sur le rasp.
Commenter la réponse de mamiemando