certbot para o módulo pyopenssl ausente do letsencrypt

6

Preciso de ajuda para configurar o CertBot para o LetsEncrypt

Estou rodando no CentOS 7 com o Python 2.7

Quando executo o certbot, recebo o seguinte erro:

[root@li86-193 frappe-bench]#certbot certonly --manual

Traceback (most recent call last):
  File "/usr/bin/certbot", line 7, in <module>
    from certbot.main import main
  File "/usr/lib/python2.7/site-packages/certbot/main.py", line 21, in <module>
    from certbot import client
  File "/usr/lib/python2.7/site-packages/certbot/client.py", line 10, in <module>
    from acme import client as acme_client
  File "/usr/lib/python2.7/site-packages/acme/client.py", line 31, in <module>
    requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3()
  File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 112, in inject_into_urllib3
    _validate_dependencies_met()
  File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 147, in _validate_dependencies_met
    raise ImportError("'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.

[root@li86-193 frappe-bench]# pip show certbot
Name: certbot
Version: 0.11.1
Summary: ACME client
Home-page: https://github.com/letsencrypt/letsencrypt
Author: Certbot Project
Author-email: [email protected]
License: Apache License 2.0
Location: /usr/lib/python2.7/site-packages
Requires: ConfigArgParse, configobj, zope.component, pytz, setuptools, cryptography, zope.interface, pyrfc3339, mock, parsedatetime, six, acme, PyOpenSSL

[root@li86-193 frappe-bench]# pip show pyopenssl
Name: pyOpenSSL
Version: 16.2.0
Summary: Python wrapper module around the OpenSSL library
Home-page: https://pyopenssl.readthedocs.io/
Author: Hynek Schlawack
Author-email: [email protected]
License: Apache License, Version 2.0
Location: /usr/lib/python2.7/site-packages
Requires: six, cryptography

Por favor ajude

Obrigado

    
por cs378 02.02.2017 / 23:51

10 respostas

7

Não tente instalar o certbot manualmente nos sistemas CentOS / RHEL. Isso só faz uma bagunça enorme. Em vez disso, instale-o a partir do EPEL.

yum install epel-release
yum install certbot
    
por 03.02.2017 / 00:56
3

Eu experimentei esse mesmo problema duas vezes em dois sistemas Centos7 separados nos últimos dois meses. Isso é o que funcionou para mim:

  • yum remove pyOpenSSL [Isso removerá o certbot instalado via epel]
  • yum instala o openssl-devel python-devel [Pode ou não ser realmente necessário]
  • instalação do pip certbot
  • pip instale o certbot-apache

Depois de concluir estas etapas, consegui renovar meus certificados com o certificado.

    
por 24.06.2017 / 17:43
2

Isso parece estar funcionando para mim.

Pegue uma rpm aqui: link

wget ftp://ftp.muug.mb.ca/mirror/centos/7.2.1511/cloud/x86_64/openstack-mitaka/common/pyOpenSSL-0.15.1-1.el7.noarch.rpm
sudo rpm -Uvh pyOpenSSL-0.15.1-1.el7.noarch.rpm
sudo yum install certbot
    
por 24.02.2017 / 02:34
1

Estou correndo para o mesmo problema. Usando o python venv, consegui fazer o certbot funcionar usando pip.

Etapas: Instalar virtualenv

pip install virtualenv --upgrade

Crie um virtualenv

virtualenv -p /usr/bin/python2.7 certbot

Ative o certbot virtualenv

. /root/certbot/bin/activate

Seu prompt pode se transformar em algo assim

(certbot) [root@hostname ~]#

Em seguida, instale o certbot

pip install certbot

Uma vez concluído, você pode testar o comando certbot sob certbot virtualenv, mas isso não é prático se você for usar o cron para configurar renovações do certbot. Então, desative o ambiente virtual,

(certbot) [root@hostname ~]# deactivate

Agora, execute o comando certbot de

/root/certbot/bin/certbot
    
por 29.03.2017 / 10:04
0

Eu tive o mesmo problema em 0.9.3. Foi causado pela instalação do plugin nginx.

Você pode reproduzir facilmente uma instalação em funcionamento:

docker run -it --rm centos: centos7 yum -y instala o epel-release yum -y instala o certbot certbot -h

    
por 13.02.2017 / 11:39
0

apenas fez funcionar executando

sudo pip install pyOpenSSL==0.14.0

ele removeu a versão 0.13 e instalou o 0.14, então o certbot simplesmente funcionou normalmente.

    
por 01.06.2017 / 00:20
0

Parece que a versão da fonte epel é muito antiga, você pode remover o certificado da versão do yum e instalar o pip

    
por 01.06.2017 / 07:51
0

A correção correta é:

mv /usr/lib64/python2.7/site-packages/OpenSSL /usr/lib64/python2.7/site-packages/pyOpenSSL

Obrigado por cnritng frim github.

    
por 01.01.2018 / 02:40
0

Não misture yum dos pacotes instalados via pip . A correção apropriada envolve a remoção de pacotes pip e a instalação de tudo a partir de yum . Eu delineei que aqui .

Você não precisa do pyOpenSSL mais recente no CentOS 7 para executar o certbot!

pip uninstall requests
yum reinstall python-requests

pip uninstall six
yum reinstall python-six

pip uninstall urllib3
yum reinstall python-urllib3
    
por 23.03.2018 / 18:29
-4

Em vez de certbot, o cliente letsencrypt solucionou para mim o problema.

Você pode remover o (s) outro (s) cliente (s)

pip uninstall certbot
pip uninstall pyopenssl

Em seguida, instale o letsencrypt:

pip install letsencrypt
    
por 28.03.2017 / 18:21