Installer certbot sur raspberry

Résolu
artemis0 Messages postés 1031 Statut Membre -  
artemis0 Messages postés 1031 Statut Membre -
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#

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    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
    .
    0
    1. artemis0 Messages postés 1031 Statut Membre 197
       
      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à :)
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    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
    0
    1. artemis0 Messages postés 1031 Statut Membre 197
       
      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)
      0
      1. Judge_DT Messages postés 27651 Date d'inscription   Statut Modérateur Dernière intervention   10 013 > artemis0 Messages postés 1031 Statut Membre
         
        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.
        0
    2. artemis0 Messages postés 1031 Statut Membre 197
       
      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#
      0
      1. Judge_DT Messages postés 27651 Date d'inscription   Statut Modérateur Dernière intervention   10 013 > artemis0 Messages postés 1031 Statut Membre
         
        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.
        0
    3. artemis0 Messages postés 1031 Statut Membre 197
       
      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
      0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    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
    0
    1. Judge_DT Messages postés 27651 Date d'inscription   Statut Modérateur Dernière intervention   10 013
       
      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.
      0