J'ai mis en place un référentiel Debian (Ubuntu en fait) à usage interne avec certains paquets privés, et je veux maintenant le rendre disponible sur le Web à certains serveurs spécifiques. Je voudrais qu'apt-get / aptitude s'y connecte en utilisant HTTPS, et parce que je ne veux pas dépenser d'argent, j'utilise un certificat auto-signé.
J'ai essayé de suivre la page de manuel apt.conf sur le pointage apt-get pour utiliser mon propre certificat d'autorité de certification racine pour valider l'hôte, mais cela ne semble pas fonctionner.
Mon fichier apt.conf ressemble à ceci:
#Acquire::https::repo.mydomain.com::Verify-Peer "false";
Acquire::https::repo.mydomain.com::CaInfo "/etc/apt/certs/my-cacert.pem";
Acquire::https::repo.mydomain.com::SslCert "/etc/apt/certs/my-cert.pem";
Acquire::https::repo.mydomain.com::SslKey "/etc/apt/certs/my-key.pem";
J'utilise également un certificat client, mais cela ne semble pas être un problème car lorsque je mets Verify-Peer sur "false" (commenté ci-dessus), tout fonctionne.
L'utilisation du même certificat CA, du même certificat client et de la même clé fonctionne bien avec curl.
J'ai activé le débogage apt (Debug :: Acquire :: https "true") mais il offre très peu d'informations.
Des suggestions sur la façon de procéder?
la source
Récemment, j'ai rencontré un problème similaire. Je l'ai résolu en ajoutant une
SslForceVersion
option.Ma configuration est comme:
la source
Dans askubuntu , j'ai trouvé une version un peu plus simple de cette solution et une qui limitait l'option à un seul hôte.
Cela a fonctionné pour moi.
Le questionneur ici, cependant, voulait préserver l'authentification; J'ai essayé quelques choses dans le sens ci-dessus, mais je n'ai pas pu le faire fonctionner non plus. En revanche, étant donné que mon référentiel est signé et que j'ai installé la clé de signature, l'authentification SSL n'est pas critique pour la sécurité.
la source
Je l'ai résolu d'une autre manière, en installant le ca-certificate.
*.crt
fichier dans `/ usr / local / share / ca-certificats /sudo update-ca-certificates
Cette solution fonctionne avec Ubuntu 14.04 au moins.
la source
J'espère que cela aide les autres - je n'ai pas pu résoudre cela directement.
Pour contourner ce problème, j'utilise maintenant stunnel4 pour créer un tunnel vers mon référentiel HTTPS. Les certificats auto-signés et le certificat client que je travaille très bien avec stunnel4.
J'ai configuré Stunnel pour écouter sur localhost: 8888 les connexions entrantes et les diriger vers mon référentiel (repo.mydomain.com:443). J'ai configuré apt pour rechercher mon référentiel sur http: // localhost: 8888 / .
Jusqu'à présent, cela a bien fonctionné, même si cela semble être un hack inutile.
la source
GnuTLS ou apt semble être bogué. Si le nom d'hôte de mon apt sources.list ne correspond pas à Apache ServerName de mon serveur Web de référentiel, j'obtiens l'erreur suivante en utilisant TLSv1:
En utilisant SSLv3, tout fonctionne bien.
Remarque: cela n'a rien à voir avec le certificat SSL. Un certificat non valide entraînerait l'erreur suivante:
la source