Zugriff per webdav: Bibliothek M2Crypto wird nicht gefunden

Antworten
test
Beiträge: 32
Registriert: 17 Mai 2010, 11:45

Zugriff per webdav: Bibliothek M2Crypto wird nicht gefunden

Beitrag von test »

Es geht um den WAN-Modus von Opsi. Ein Client wurde so eingestellt, dass er per Wabdav auf das Repository zugreift. U.a. wurde in der opsiclientd.conf

Code: Alles auswählen

verify_server_cert = True
gesetzt. Dateien aus dem Repository lassen sich per Webdav vom Server herunterladen. Daher liegt das Problem wohl beim Client.

Was sollte passieren?
Abgleich der Pakete und lokale Kopien in den Cache auf c:\opsi-org\cache\depot .
Was ist passiert?
Leere Ordner in c:\opsi-org\cache\depot , Fehlermeldung in opsiclientd.log:

Code: Alles auswählen

[6] [2021-02-03 10:29:29.364] [event processing user_login             ] Starting ServiceConnectionThread, timeout is 30 seconds   (OpsiService.py:170)
[6] [2021-02-03 10:29:29.366] [service connection                      ] Server verification enabled, using cert file 'C:\opsi.org\opsiclientd\server-certs\<servername>.pem'   (OpsiService.py:328)
[5] [2021-02-03 10:29:29.367] [service connection                      ] Connecting to config server 'https://<servername>:4447' #1   (OpsiService.py:339)
[6] [2021-02-03 10:29:29.368] [service connection                      ] Server verfication by server certificate enabled for host '<servername>'   (HTTP.py:289)
[6] [2021-02-03 10:29:29.876] [control server                          ] client connection made   (Message.py:498)
[6] [2021-02-03 10:29:31.437] [                                        ] Encoding authorization   (HTTP.py:472)
[2] [2021-02-03 10:29:31.438] [                                        ] Cannot verify server based on certificate file 'C:\opsi.org\opsiclientd\server-certs\<servername>.pem': No module named 'M2Crypto'   (HTTP.py:488)
Vermute, dass es sich letztendlich auf import M2Crypto in der Funktion encryptWithPublicKeyFromX509CertificatePEMFile in OPSI/Util/__init__.py bezieht, die in OPSI/Util/HTTP.py aufgerufen wird. (Könnte das evtl. an der Python-Version 3 liegen?? Auf der Seite https://www.xspdf.com/resolution/56740235.html heißt es, M2Crypto wird nicht mehr in Python 3 unterstützt. Hoffe natürlich, dass die Lösung einfacher ist, z.B. ein Fehler von mir. ;) )

Mit welchen Schritten kann das Problem nachgestellt werden?
1. Opsi Server so einrichten, dass er Webdav "ausliefert"
2. Host Parameter im Opsi Configed ändern:

Code: Alles auswählen

opsiclientd.event_gui_startup.active	false
opsiclientd.event_gui_startup{user_logged_in}.active	false
opsiclientd.event_net_connection.active	  true
opsiclientd.event_timer.active	   true
3. opsiclientd.conf auf Client:

Code: Alles auswählen

verify_server_cert = True
4. Ein Produkt auf setup stellen und Client neu starten.
Danach sollte die Fehlermeldung mit M2Crypto in c:\opsi.org\log\opsiclientd.log sein.

Bei welchen Versionen der beteiligten Komponenten tritt das Problem auf?
Client: Opsi Client Agent: 4.1.1.16-2
(Nachtrag: Selber Effekt bei Opsi Client Agent: 4.1.1.29-1)

Server:
opsiconfd-4.1.1.20-1.5.noarch
opsi-linux-bootimage-20201105-1.1.noarch
opsi-tftp-hpa-server-5.2.8-53.1.x86_64
opsipxeconfd-4.1.1.20-3.2.noarch
opsi-utils-4.1.1.36-1.2.noarch
python-opsi-4.1.1.97-1.1.noarch
opsi-configed-4.0.7.6.34-2.8.noarch
opsi-server-4.1.1.8-1.4.noarch
test
Beiträge: 32
Registriert: 17 Mai 2010, 11:45

Nachtrag: Anderer Fehler mit Opsi Client 4.1.1.30-1 - unexpected keyword argument 'verifyServerCert'

Beitrag von test »

Mit opsi-client-agent 4.1.1.30-1 kommt ein anderer Fehler:

Code: Alles auswählen

(15068)   [3] [2021-04-28 14:04:49.977] [product cache service                   ] Failed to cache product opsi-winst: __init__() got an unexpected keyword argument 'verifyServerCert'   (CacheService.py:1156)
(15069)   Traceback (most recent call last):
(15070)     File "opsiclientd\nonfree\CacheService.py", line 1060, in _cacheProduct
(15071)     File "opsiclientd\nonfree\CacheService.py", line 1037, in _getRepository
(15072)     File "OPSI\Util\Repository.py", line 73, in getRepository
(15073)     File "OPSI\Util\Repository.py", line 1087, in __init__
(15074)     File "OPSI\Util\Repository.py", line 972, in __init__
(15075)     File "OPSI\Util\HTTP.py", line 616, in getSharedConnectionPool
(15076)   TypeError: __init__() got an unexpected keyword argument 'verifyServerCert'
Benutzeravatar
wolfbardo
uib-Team
Beiträge: 1354
Registriert: 01 Jul 2008, 12:10

Re: Zugriff per webdav: Bibliothek M2Crypto wird nicht gefunden

Beitrag von wolfbardo »

Leider funktioniert

Code: Alles auswählen

verify_server_cert = True
in opsi 4.1 nicht.

Unter opsi 4.2 (serverseite) mit aktuellem opsi-client-agent (derzet 4.1.1.30-1) sollte es wieder gehen.

Gruss
Bardo Wolf


OPSICONF 2024
https://opsi.org/en/opsiconf/

opsi-Basisworkshops:

22. - 25. 04. 2024


opsi support - uib gmbh
For productive opsi installations we recommend maintainance + support contracts which are the base of opsi development.

http://www.uib.de
Antworten