letsencrypt eksik pyopenssl modülü için certbot


10

LetsEncrypt için CertBot kurulumu için yardıma ihtiyacım var

Python 2.7 ile CentOS 7 üzerinde çalışıyorum

Certbot çalıştırdığımda aşağıdaki hatayı alıyorum:

[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: client-dev@letsencrypt.org
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: hs@ox.cx
License: Apache License, Version 2.0
Location: /usr/lib/python2.7/site-packages
Requires: six, cryptography

lütfen yardım edin

teşekkür ederim


Lütfen yazınızı okunabilir olacak şekilde düzeltin, izlemeler tamamen karıştı ... Ayrıca, lütfen certbot'u nasıl yüklediğinizi, şimdiye kadar çalışmayı denemek için ne yaptığınızı ve nedenini anlamamıza yardımcı olabilecek bilgileri ekleyin bu hatayı alıyorsunuz.
Ginnungagap

Virtualenv kullanarak çözüm için lütfen yorumuma bakın
Danie

Yanıtlar:


7

Certbot'u CentOS / RHEL sistemlerine manuel olarak kurmaya çalışmayın. Sadece büyük bir karmaşa yaratıyor. Bunun yerine EPEL'den yükleyin.

yum install epel-release
yum install certbot

1
Epel'den kurdum ve hala aynı sorunu yaşıyorum
chrismarx

7
EPEL certbot paketini çalıştırdım ve bu sorunu çözdüm. Sistemimdeki başka bir şey 'istekler' kütüphanesini en son sürüme güncellemiştir (bu yazıdan sonra 2.13.0), ancak certbot için bağımlılık olarak kurulan RPM 2.6.0'dır. İçin sürümlerini karşılaştırın pip list 2>/dev/null | grep requestsve rpm -q python-requests --queryformat '%{VERSION}\n'. Eğer farklılarsa, deneyin pip install --upgrade --force-reinstall 'requests==2.6.0'.
Alan Ivey

4

Aynı sorunu son 2 ay içinde 2 ayrı Centos7 sisteminde iki kez yaşadım. Benim için işe yarayan buydu:

  • yum remove pyOpenSSL [Bu epel aracılığıyla yüklenmiş certbot'u silecektir]
  • yum install openssl-devel python-devel [Gerçekten gerekli olmayabilir veya olmayabilir]
  • pip install certbot
  • pip install certbot-apache

Bu adımları tamamladıktan sonra sertifikalarımı certbot ile başarıyla yenileyebildim.


1
Bu işe yaradı. urllib3, pipO ile pyOpenSSL'nin yum yüklü versiyonları arasında karışır. Yum paketlerini kaldırmak ve pip ile kurmak bunu düzeltiyor gibi görünüyor.
scoota269

Bu ilk üç komutu uyguladıktan sonra aşağıdaki hatayı alıyorum: UnknownExtra: requests 2.6.0 has no such extra feature 'security'yürüttüğümde$ certbot certonly ...
Pathros

3

Aynı sorunla karşılaşıyorum. Python venv kullanarak certbot pip kullanarak çalışmayı başardı.

Adımlar: Virtualenv'i yükleyin

pip install virtualenv --upgrade

Bir sanal ağ oluşturun

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

certbotVirtualenv'i etkinleştirin

. /root/certbot/bin/activate

İsteminiz böyle bir şeye dönüşebilir

(certbot) [root@hostname ~]#

Sonra pipert sertifikası yükleyin

pip install certbot

Tamamlandığında certbot, certbotvirtualenv altında komutu test edebilirsiniz , ancak certbot yenilemelerini ayarlamak için cron kullanacaksanız bu pratik değildir. Sanal ortamı devre dışı bırakın,

(certbot) [root@hostname ~]# deactivate

Şimdi certbot komutunu çalıştırın.

/root/certbot/bin/certbot

2

Bu benim için çalışıyor gibi görünüyor.

Buradan bir rpm alın: http://rpm.pbone.net/index.php3/stat/4/idpl/31446026/dir/centos_7/com/pyOpenSSL-0.15.1-1.el7.noarch.rpm.html

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

"ImportError: 'pyOpenSSL' modülünde gerekli işlevler eksik. V0.14 veya daha yenisine yükseltmeyi deneyin." Bu sorunla karşılaştım ve nihayet 'pyOpenSSL-0.15.1-1.el7.noarch.rpm'
kai.fantasy

2

Doğru düzeltme:

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

Cnritng frim github sayesinde.


Sihri hemen yaptı.
j4hangir

1

yumKurulu paketleri bunlarla karıştırmayın pip. Doğru düzeltme, pip paketlerini kaldırmayı ve her şeyi yüklemeyi içerir yum. Burada özetledim .

Certbot'u çalıştırmak için CentOS 7'de daha yeni pyOpenSSL'ye ihtiyacınız yok!

pip uninstall requests
yum reinstall python-requests

pip uninstall six
yum reinstall python-six

pip uninstall urllib3
yum reinstall python-urllib3

0

Aynı problem 0.9.3'te yaşadım. Bunun nedeni nginx eklentisinin kurulmasıdır.

Çalışan bir kurulumu kolayca yeniden oluşturabilirsiniz:

docker run -it --rm centos: centos7 bash yum -y epel-bırak yum yükleyin -y certbot certbot yükleyin -h


herhangi bir geçici çözüm var mı?
chrismarx

Sorunun nerede olduğunu bilmiyorum.
CentOS'u

0

sadece çalıştırarak işe yaradı

sudo pip install pyOpenSSL==0.14.0

0.13 sürümünü kaldırdı ve 0.14'ü yükledi, sonra certbot normal çalıştı.


Aşağıdakileri ERROR: Cannot uninstall 'pyOpenSSL'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
alıyorum

0

Görünüşe göre epel kaynağının sürümü çok eski, yum versiyonunun sertifikasını kaldırabilir ve pip kurabilirsiniz


-4

Bunun yerine certbot, letsencrypt istemcisi benim için sorunu çözdü.

Diğer istemcileri kaldırabilirsiniz

pip uninstall certbot
pip uninstall pyopenssl

Ve sonra letsencrypt'i yükleyin:

pip install letsencrypt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.