407 Autenticazione proxy richiesta


38

Quando provo ad installare un software usando Ubuntu Software center ottengo:

Failed to download repository information
Check Your Internet connection

Quando provo a fare un apt-get install something, ottengo:

407  Proxy Authentication Required

Uso un server proxy che richiede un nome utente e una password. Ho impostato manualmente il mio proxy di sistema, inserendo i numeri richiesti nel proxy Networks e applicandolo a livello di sistema. Immagino che il problema ora sia inserire il mio nome utente e la mia password.

Quando utilizzo INTERNET tramite Mozilla, mi chiede in modo specifico nome utente e password.

Risposte:


48

Affinché apt-get funzioni, è necessario modificare il file di configurazione apt:

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

E aggiungi Acquire::http::Proxy "http://username:password@proxyhost:port/";

La sintassi mostrata sopra dovrebbe essere seguita rigorosamente.

Questa configurazione potrebbe non riuscire se il tuo nome utente o password contiene una "@". È inoltre possibile aggiungere la configurazione proxy per altri protocolli come FTP.

Aggiornamento: se il tuo nome utente o password contiene "@", puoi sostituirlo con% 40 Esempio: se la tua password è @123immessa come %40123.

Per altri personaggi vedi questa codifica in percentuale


4
Ho fatto esattamente quello che hai detto, ma mi dà ancora lo stesso errore. Non ha risolto il problema.
DeLiK il

Ho aggiunto le impostazioni proxy sopra, ma ora ricevo 404- Not Found, al posto di 407- Proxy Authentication
Deepak

Cosa succede se la mia password contiene un "@"?
akpak,

12

Per prima cosa, imposta le impostazioni del proxy tramite la procedura guidata di Linux e usa l'opzione manualmente e applica le impostazioni a livello di sistema proprio come questa finestra della procedura guidata.

Aggiungi il tuo ambiente proxy. Queste sono solo impostazioni di esempio ...
Apri il tuo prompt dei comandi e modifica il file apt.conf:

sudo vi /etc/apt/apt.conf

Esistono già 4 righe di codice che iniziano con la parola chiave Acquire , modificala in questo modo:

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

Nota
Se la password contiene caratteri speciali come @, $ ,! (es. Password: P @ ssword) quindi sostituisci i caratteri speciali con i loro equivalenti di codice esadecimale con il prefisso% in questo modo:

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

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


Ho aggiunto le impostazioni proxy sopra, ma ora ricevo 404- Not Found, al posto di 407- Proxy Authentication
Deepak

Qual è la differenza tra la prima e la quarta riga ????
Moataz Elmasry,

5

Se sei dietro un proxy aziendale che esegue l'autenticazione NTLM, puoi usare CNTLM:

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

Modifica le impostazioni predefinite (dominio, nome utente, password e proxy). Quindi riavviare il servizio:

$ sudo /etc/init.d/cntlm restart

Ora puoi usare localhost:3128(porta CNTLM predefinita) come proxy a livello di sistema per Ubuntu.

Controlla http://cntlm.sourceforge.net/ per documenti.


7
Per poter sudo apt-get install cntlmlavorare devi prima passare attraverso quel proxy.
Andrew Savinykh,

2

Penso che questo tutorial dovrebbe aiutarti.

Fare clic sulla scheda Rete selezionare l'opzione Configurazione manuale proxy e inserire il server proxy, i dettagli della porta. Se si dispone di nome utente, password fare clic su Autenticazione per inserire questi dettagli fare clic su OK

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

Per invocarlo per tutti i programmi lanciati in una shell, suggerirei di aggiungerlo al proprio /etc/bash.bashrcutilizzo gksudo gedit /etc/bash.bashrcper applicarlo a livello di sistema per tutte le sessioni bash o al proprio spazio utente ~/.bashrc.

Per quanto riguarda Synaptic, nella scheda Preferencessottostante Networksembra che sia possibile impostare l'autenticazione per i proxy. Questo sembra essere specifico di Synaptic, però.


Uso Ubuntu 11, puoi aiutarmi a raggiungere synaptic
user38507

anche dove esattamente in thh bash.bashrc è necessario collegare username e password
user38507

export http_proxy=http://username:password@proxyhost:port/
Pantera,

ho dato il comando sudo echo "export http_proxy = svastica: ramdayal@192.168.11.107: 8081 " >> /etc/bash.bashrc anche adesso ho lo stesso errore
user38507

2

Una valida alternativa è utilizzare Synaptic Package ManagerInstalla Synaptic , dove è possibile specificare impostazioni proxy indipendenti dal sistema e anche memorizzare nome utente e password.

Impostazioni proxy

Tuttavia, questo non cambierà il proxy per Software Center.


2

Se il tuo nome utente è separato dallo spazio, utilizza:

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

Se il tuo nome utente non è separato dallo spazio, utilizza:

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

La differenza è l'aggiunta di apertura e chiusura '.


2

Nelle ultime versioni di Ubuntu, puoi utilizzare Impostazioni di sistema> Rete> Proxy di rete e, quando fai clic "apply system wide", modifica le impostazioni del proxy in luoghi diversi, almeno includendo il /etc/apt/sources.listfile, TUTTAVIA ...

Non ha alcun meccanismo per richiedere l'autenticazione. Non ho idea del perché nessuno ne abbia ancora fatto parte, ma per questo, se hai bisogno di autenticazione, devi inserire anche la tua password e nome utente in questo formato:

username:password@proxy.address

Se la tua password o il tuo nome utente contengono caratteri speciali, incluso @o #o !qualsiasi altra cosa, probabilmente dovrai utilizzare il codice carattere HTML per uno di quei caratteri speciali. Vedi questa pagina per come puoi: http://www.obkb.com/dcljr/charstxt.html


1

Stavo anche affrontando lo stesso problema. Poi sono venuto a conoscenza di CNTLM. Ora funziona davvero bene. Scopri come configurare CNTLM qui.


2
Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
Oyibo,

Grazie! Questa è stata l'unica risposta che mi ha davvero aiutato. Altre risposte (che già sapevo) presumono che il proxy stia utilizzando l'autenticazione HTTP di base, che non era il mio caso.
Alexander Amelkin,

1

Ho creato uno script Python per configurare le impostazioni proxy in Ubuntu

Si supponga che l'impostazione seguente sia necessario sostituire in punti pertinenti

  • proxy_address 172.16.26.214
  • proxy_port 3128
  • proxy_username re
  • proxy_password queen

Ho realizzato un video che ti guida attraverso tutti i passaggi:

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

I passaggi sono dettagliati qui:

  • Primo clic su Dash
  • Nella casella di ricerca inserisci "Proxy" (senza virgolette)
  • Fai clic su "Rete" in Applicazioni
  • Seleziona "Proxy di rete"
  • Seleziona manuale
  • Immettere l'indirizzo proxy e la porta proxy
  • Applicare. Immettere la password del sistema per confermare

Scarica lo script setproxy.py

https://pastebin.com/MbBHta8g

Supponiamo che tu abbia salvato setproxy.pynella Downloadscartella

  • Tipo di terminale aperto
  • cd ~ / Download

Comando generale:
sudo python setproxy.py proxy_address proxy_port proxy_username proxy_password
Per il nostro esempio

  • sudo python setproxy.py 172.16.26.214 3128 king queen

In caso di proxy semplice Senza autenticazione il comando è:

  • sudo python setproxy.py 172.16.26.214 3128

Nel caso abbiate python 3eseguito sopra e in python2.7 modo che i comandi siano simili

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

1
L'uso di dropbox o copia per la memorizzazione di script è molto male. Dovresti usare github, o paste.bin almeno
Quan al

0

Puoi anche provare i seguenti comandi.

Per la connessione http - esportazione:

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

Per la connessione https - esportazione:

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

E allo stesso modo per ftp e altre connessioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.