Authentification proxy 407 requise


38

Lorsque j'essaie d'installer un logiciel à l'aide du logiciel Ubuntu Software Center, je reçois:

Failed to download repository information
Check Your Internet connection

Quand j'essaie de faire un apt-get install something, je reçois:

407  Proxy Authentication Required

J'utilise un serveur proxy qui nécessite un nom d'utilisateur et un mot de passe. J'ai défini manuellement le proxy de mes systèmes, en y insérant les numéros requis dans le proxy réseau et en l'appliquant à l'ensemble du système. Je suppose que le problème est maintenant de brancher mon nom d'utilisateur et mon mot de passe.

Lorsque j'utilise INTERNET via Mozilla, il me demande spécifiquement mon nom d'utilisateur et mon mot de passe.

Réponses:


48

Pour que votre apt-get au travail, vous devriez éditer votre fichier de configuration apt:

sudo -H gedit /etc/apt/apt.conf

Et ajouter Acquire::http::Proxy "http://username:password@proxyhost:port/";

La syntaxe indiquée ci-dessus doit être strictement suivie.

Cette configuration peut échouer si votre nom d'utilisateur ou votre mot de passe contient un «@». Vous pouvez également ajouter une configuration de proxy pour d'autres protocoles tels que FTP.

Mise à jour: si votre nom d'utilisateur ou votre mot de passe contient '@', vous pouvez le remplacer par% 40 Exemple: Si votre mot de passe est @123entré, entrez-le %40123.

Pour d'autres caractères, voir l' encodage en pourcentage


4
J'ai fait exactement ce que vous avez dit mais cela me donne toujours la même erreur. Cela n'a pas résolu le problème.
DeLiK

J'ai ajouté les paramètres de proxy ci-dessus, mais maintenant je reçois 404- Introuvable, à la place de 407- Authentification par procuration
Deepak

Que se passe-t-il si mon mot de passe contient un "@"?
Samedi

12

Commencez par définir manuellement vos paramètres de proxy via l’option d’utilisation de l’assistant Linux, puis appliquez les paramètres à l’échelle du système, comme dans cette boîte d’assistant.

Ajoutez votre environnement de proxy. Ce ne sont que des exemples de paramètres ...
Ouvrez votre identifiant de commande et éditez le fichier apt.conf:

sudo vi /etc/apt/apt.conf

Il y a déjà 4 lignes de code commençant par Acquire mot clé, modifiez-le comme ceci:

Acquire::http::Proxy "http://username:password@proxyhost:port/";
Acquire::https::Proxy "https://username:password@proxyhost:port/";
Acquire::ftp::Proxy "ftp://username:password@proxyhost:port/";

Remarque
Si votre mot de passe contient des caractères spéciaux tels que @, $,! (par exemple, mot de passe: P @ ssword) puis remplacez les caractères spéciaux par leurs équivalents de code hexadécimal avec le préfixe% comme ceci:

Acquire::http::Proxy "http://username:p%40ssword@proxyhost:port/"; 

@ ==>% 40
$ ==>% 24
! ==>% 21


J'ai ajouté les paramètres de proxy ci-dessus, mais maintenant je reçois 404- Introuvable, à la place de 407- Authentification par procuration
Deepak

Quelle est la difference entre first et 4th line ????
Moataz Elmasry

5

Si vous êtes derrière un proxy d'entreprise exécutant l'authentification NTLM, vous pouvez utiliser CNTLM:

$ sudo apt-get install cntlm
$ sudo vi /etc/cntlm.conf

Modifier les paramètres par défaut (domaine, nom d'utilisateur, mot de passe et proxy). Puis redémarrez le service:

$ sudo /etc/init.d/cntlm restart

Vous pouvez maintenant utiliser localhost:3128(port CNTLM par défaut) en tant que proxy système pour Ubuntu.

Consultez http://cntlm.sourceforge.net/ pour les documents.


7
Pour vous rendre sudo apt-get install cntlmau travail, vous devez d’abord passer par ce proxy.
Andrew Savinykh

2

Je pense que ce tutoriel devrait vous aider.

Cliquez sur l'onglet Réseau, sélectionnez l'option Configuration manuelle du proxy, puis entrez votre serveur proxy et les détails du port. Si vous avez un nom d'utilisateur, cliquez sur Authentification pour entrer ces détails, cliquez sur ok

(de http://www.ubuntugeek.com/how-to-configure-ubuntu-desktop-to-use-your-proxy-server.html )

Pour l'invoquer pour tous les programmes lancés dans un shell, je vous suggère de l'ajouter à votre /etc/bash.bashrcutilisation gksudo gedit /etc/bash.bashrcpour l'appliquer à l'ensemble du système pour toutes les sessions bash ou à votre espace utilisateur ~/.bashrc.

En ce qui concerne Synaptic, dans l' onglet situé Preferencessous Networkvous semble pouvoir définir l'authentification pour vos mandataires. Cela semble être spécifique à Synaptic, cependant.


J'utilise Ubuntu 11, peux-tu m'aider à atteindre Synaptic?
user38507

aussi où exactement dans le bash.bashrc faut-il brancher le nom d'utilisateur et le mot de passe
user38507

export http_proxy=http://username:password@proxyhost:port/
Panther

J'ai donné la commande sudo echo "export http_proxy = swastik: ramdayal@192.168.11.107: 8081 " >> /etc/bash.bashrc même maintenant je reçois la même erreur
user38507

2

Une alternative intéressante consiste à utiliser le gestionnaire de paquets SynapticInstaller Synaptic , dans lequel vous pouvez spécifier des paramètres de proxy indépendants du système , ainsi que stocker le nom d'utilisateur et le mot de passe.

Paramètres du proxy

Cependant, cela ne changera pas le proxy pour Software Center.


2

Si votre nom d'utilisateur est séparé par un espace, utilisez:

export http_proxy='http://Pankaj Kumar Pandit:ABCD@192.168.1.1:3128/'

Si votre nom d'utilisateur n'est pas séparé par un espace, utilisez:

export http_proxy=http://Pankaj_Kumar_Pandit:ABCD@192.168.1.1:3128/

La différence est l'ajout d'ouverture et de fermeture '.


2

Dans les dernières versions d'Ubuntu, vous pouvez utiliser Paramètres système> Réseau> Proxy réseau. Lorsque vous cliquez "apply system wide"dessus, vous modifiez les paramètres du proxy à différents endroits, y compris au moins le /etc/apt/sources.listfichier, CEPENDANT ...

Il ne dispose d'aucun mécanisme pour demander l'authentification. Aucune idée pourquoi personne n'en a encore fait partie, mais à cause de cela, si vous avez besoin d'authentification, vous devez y mettre votre mot de passe et votre nom d'utilisateur également:

username:password@proxy.address

Si votre mot de passe ou votre nom d'utilisateur contient des caractères spéciaux, y compris @ou #ou, !ou autre chose, vous devrez probablement utiliser le code de caractère HTML pour chacun de ces caractères spéciaux. Voir cette page pour savoir comment vous pouvez cela: http://www.obkb.com/dcljr/charstxt.html


1

Je faisais également face au même problème. Ensuite, j'ai appris à connaître CNTLM. Maintenant ça marche vraiment bien. Voyez comment configurer CNTLM ici.


2
Bien que cela puisse théoriquement répondre à la question, il serait préférable d’inclure ici les parties essentielles de la réponse et de fournir le lien à titre de référence.
Oyibo

Merci! C'était la seule réponse qui m'a réellement aidé. D'autres réponses (que je connaissais déjà) supposent que le proxy utilise l'authentification HTTP de base, ce qui n'était pas mon cas.
Alexander Amelkin

1

J'ai créé un script python pour définir les paramètres de proxy dans Ubuntu

Supposons le réglage suivant, vous devez le remplacer aux endroits appropriés

  • adresse_proxy 172.16.26.214
  • proxy_port 3128
  • proxy_username king
  • proxy_password queen

J'ai fait une vidéo qui vous guide à travers toutes les étapes:

https://www.youtube.com/watch?v=eBtzKa-dvJg

Les étapes sont détaillées ici:

  • Cliquez d'abord sur Dash
  • Dans le champ de recherche, entrez "Proxy" (sans les guillemets)
  • Cliquez sur "Réseau" sous Applications
  • Sélectionnez "Proxy réseau"
  • Sélectionnez Manuel
  • Entrez l'adresse proxy et le port proxy
  • Appliquer. Entrez votre mot de passe système pour confirmer

Téléchargez le script setproxy.py

https://pastebin.com/MbBHta8g

Disons que vous avez enregistré le setproxy.pydans le Downloadsdossier

  • Type de terminal ouvert
  • cd ~ / Téléchargements

Commandement général:
sudo python setproxy.py proxy_address proxy_port proxy_username proxy_password
Pour notre exemple

  • sudo python setproxy.py 172.16.26.214 3128 king queen

En cas de proxy simple Sans authentification, la commande est la suivante:

  • sudo python setproxy.py 172.16.26.214 3128

Au cas où vous auriez déjà python 3utilisé python2.7 , les commandes ressembleraient à

  • sudo python2.7 setproxy.py 172.16.26.214 3128
  • sudo python2.7 setproxy.py 172.16.26.214 3128 king queen

1
Utiliser dropbox ou copier pour stocker les scripts est très mauvais. Vous devriez utiliser github, ou paste.bin au moins
Quan Au

0

Vous pouvez également essayer les commandes suivantes.

Pour une connexion http - exportation:

http_proxy="http://username:password@proxy_server_address:port_no"

Pour une connexion https - exportation:

https_proxy="https://username:password@proxy_server_address:port_no"

Et de même pour les connexions FTP et autres.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.