58 votes

apt-get ne fonctionne pas avec le proxy

Pour la commande

sudo apt-get update

Je reçois l'erreur suivante :

W: Failed to fetch http://ch.archive.ubuntu.com/ubuntu/dists/maverick-updates/multiverse/binary-i386/Packages.gz  
407  Proxy Authentication Required (The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. )

J'utilise Ubuntu 10.10 installé sur Windows XP en utilisant VirtualBox. Pour les connexions Internet, j'utilise un serveur proxy avec une authentification. J'ai essayé d'utiliser gnome-network-proxy pour définir les paramètres du proxy à l'échelle du système.

Après cela /etc/environment a été mis à jour par http_proxy avec le format http://my_proxy:port/ il n'y avait pas de données d'authentification.

Je l'ai vérifié avec Firefox. Le navigateur m'a demandé le login et le mot de passe et tout fonctionnait bien. Ce n'était malheureusement pas le cas pour apt-get. J'ai également essayé de faire comme décrit ici . Malheureusement, cela ne fonctionne pas.

Cela peut être lié au fait qu'un proxy est dans un domaine Windows, une idée ?

Mon nom de proxy est http-proxy . Est-ce que - ' un caractère spécial ici ?

58voto

Paul Beckingham Points 7460

Pour mon réseau d'entreprise, mon administrateur m'a donné le nom du proxy dans le format :

http://[username]:[password]@[proxy-webaddress]:[port]

Pour notre réseau Windows, notre nom d'utilisateur est au format :

[domain]\[username]

Par exemple :

http://mywindowsdomain\fossfreedom:password@askubuntu-proxy.com:8080

Ceci a été ajouté au NOUVEAU fichier suivant (il n'existe pas par défaut) :

gksudo gedit /etc/apt/apt.conf.d/01proxy

Le texte suivant a été ajouté :

Acquire::http::Proxy "http://mywindowsdomain\fossfreedom:password@askubuntu-proxy.com:8080";

Si vous utilisez un proxy anonyme, vous n'avez pas besoin de vos identifiants de connexion :

Acquire::http::Proxy "http://askubuntu-proxy.com:8080";

Enregistrez le fichier et vérifiez ensuite que tout est en ordre :

sudo apt-get update

13voto

MneMoth Points 131

J'ai constaté que le NOM D'UTILISATEUR et le MOT DE PASSE entrés dans l'applet "Network Proxy" ne sont pas stockés dans le fichier apt.conf ; vous devez ajouter manuellement le nom d'utilisateur et le mot de passe dans le fichier /etc/apt/apt.conf.

L'applet "Network Proxy" ne stocke que le nom d'hôte et le port.

La syntaxe de base est la suivante

Acquire::http::proxy "http://User:Password@host:port/";

Acquire::ftp::proxy "ftp://User:Password@host:port/";

Acquire::https::proxy "https://User:Password@host:port/";

Si vous utilisez des noms d'utilisateur et des mots de passe Windows, suivez ces conseils :

User = Domain/Username

(Les utilisateurs de Windows utilisent / pas \ )

Si vous utilisez un mot de passe fort/complexe Windows avec des caractères spéciaux, vous devez utiliser l'encodage URL pour les valeurs, par exemple un "@" dans le mot de passe serait "%40".

9voto

mcw0933 Points 865

Essayez de régler http_proxy a http://user:pass@proxyserver:port/

éditer :
Si le réglage http_proxy ne fonctionne pas essayez d'éditer apt.conf . Sur
Ubuntu apt.conf est fragmenté en /etc/apt/apt.conf.d/ répertoire.
Dans ce répertoire, éditez /etc/apt/apt.conf.d/01ubuntu :

APT {
    Acquire {
        http {
            Proxy "http://user:password@server:port";
        };
    };
};

ou essayez de le configurer en utilisant Synaptic : Paramètres -> Préférences -> Réseau
Puis définissez vos paramètres de proxy dans "Configuration manuelle du proxy".

5voto

satts Points 403

Je suis derrière un proxy MS ISA et j'utilise le proxy d'authentification Cntlm ; dans l'onglet apt.conf J'ai 4 lignes ; j'ai lu quelque part que la dernière ligne doit être vide, mais je n'en suis pas sûr. Cela fonctionne parfaitement :

Acquire::http::proxy "http://127.0.0.1:3128/";
Acquire::ftp::proxy "ftp://127.0.0.1:3128/";
Acquire::https::proxy "https://127.0.0.1:3128/";

3voto

Alexandre Points 600

Cntlm a une option de découverte qui aide à trouver la bonne configuration pour fonctionner avec l'authentification NTLM de votre réseau, essayez ceci :

cntlm -I -M http://test.com

copier et coller les résultats dans /etc/cntlm.conf

redémarrer cntlm

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X