Se requiere autenticación de proxy 407

38

Cuando intento instalar un software usando el Centro de software de Ubuntu obtengo:

Failed to download repository information
Check Your Internet connection

Cuando trato de hacer un apt-get install something, obtengo:

407  Proxy Authentication Required

Yo uso un servidor proxy que requiere un nombre de usuario y una contraseña. Configuré el proxy de mi sistema manualmente, conectando los números requeridos en el proxy de Redes y lo apliqué en todo el sistema. Supongo que el problema ahora es conectar mi nombre de usuario y contraseña.

Cuando uso INTERNET a través de Mozilla, específicamente me pide mi nombre de usuario y contraseña.

usuario38507
fuente

Respuestas:

48

Para que su apt-get funcione, debe editar su archivo de configuración de apt:

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

Y añadir Acquire::http::Proxy "http://username:password@proxyhost:port/";

La sintaxis que se muestra arriba debe seguirse estrictamente.

Esta configuración puede fallar si su nombre de usuario o contraseña tiene una '@'. También puede agregar la configuración de proxy para otros protocolos como FTP.

Actualización: si su nombre de usuario o contraseña tiene '@', puede reemplazarlo con% 40 Ejemplo: si su contraseña se @123ingresa como %40123.

Para otros caracteres, vea esta codificación porcentual

jaseem
fuente
44
Hice exactamente lo que dijiste pero todavía me da el mismo error. No resolvió el problema.
DeLiK
Agregué la configuración de proxy anterior, pero ahora obtengo 404- No encontrado, en lugar de 407- Autenticación de proxy
Deepak
¿Qué pasa si mi contraseña contiene una "@"?
Aprpak
12

Primero establezca su configuración de proxy a través de la opción de uso del asistente de Linux manualmente y aplique la configuración en todo el sistema al igual que este cuadro de asistente.

Agregue su entorno proxy. Estos son solo ejemplos de configuración ...
Abra el inicio de sesión del símbolo del sistema y edite el archivo apt.conf:

sudo vi /etc/apt/apt.conf

Ya hay 4 líneas de código que comienzan con Adquirir palabra clave, edítelo así:

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:
si su contraseña contiene caracteres especiales como @, $ ,! (por ejemplo, Contraseña: P @ ssword) luego reemplace los caracteres especiales por sus equivalentes de código hexadecimal con un prefijo% como este:

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

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

usuario226173
fuente
Agregué la configuración de proxy anterior, pero ahora obtengo 404- No encontrado, en lugar de 407- Autenticación de proxy
Deepak
¿Cuál es la diferencia entre la primera y la cuarta línea?
Moataz Elmasry
5

Si está detrás de un proxy empresarial que ejecuta la autenticación NTLM, puede usar CNTLM:

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

Cambie la configuración predeterminada (dominio, nombre de usuario, contraseña y proxy). Luego reinicie el servicio:

$ sudo /etc/init.d/cntlm restart

Ahora puede usar localhost:3128(puerto CNTLM predeterminado) como el proxy de todo el sistema para Ubuntu.

Consulte http://cntlm.sourceforge.net/ para ver los documentos.

theogfx
fuente
77
Para comenzar sudo apt-get install cntlma trabajar, primero debe pasar por ese proxy.
Andrew Savinykh
2

Creo que este tutorial debería ayudarte.

Haga clic en la pestaña Red, seleccione la opción Configuración manual del proxy e ingrese su servidor proxy, detalles del puerto. Si tiene nombre de usuario, contraseña, haga clic en Autenticación para ingresar estos detalles, haga clic en Aceptar

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

Para invocarlo para todos los programas iniciados en un shell, le sugiero que lo agregue a su /etc/bash.bashrcuso gksudo gedit /etc/bash.bashrcpara aplicarlo en todo el sistema para todas las sesiones de bash o en su espacio de usuario ~/.bashrc.

En lo que respecta a Synaptic, en la pestaña Preferencesdebajo de la Networkpestaña parece que puedes configurar la autenticación para tus servidores proxy. Sin embargo, esto parece ser específico de Synaptic.

bkzland
fuente
Uso Ubuntu 11, ¿pueden ayudarme a llegar a Synaptic
User38507
También el lugar exacto en Thie bash.bashrc hace una necesidad de conectar el nombre de usuario y contraseña
user38507
export http_proxy=http://username:password@proxyhost:port/
Panther
di el comando sudo echo "export http_proxy = swastik: [email protected]: 8081 " >> /etc/bash.bashrc incluso ahora recibo el mismo error
user38507
2

Una buena alternativa es usar Synaptic Package ManagerInstalar Synaptic , donde puede especificar configuraciones de proxy independientes del sistema y también almacenar nombre de usuario y contraseña.

Configuración de proxy

Sin embargo, esto no cambiará el proxy para el Centro de software.

encender
fuente
2

Si su nombre de usuario está separado por espacio, use:

export http_proxy='http://Pankaj Kumar Pandit:[email protected]:3128/'

Si su nombre de usuario no está separado por espacio, use:

export http_proxy=http://Pankaj_Kumar_Pandit:[email protected]:3128/

La diferencia es la adición de apertura y cierre '.

PANKAJ KUMAR
fuente
2

En las últimas versiones de Ubuntu, puede usar Configuración del sistema> Red> Proxy de red, y cuando hace clic en "apply system wide"él, modifica la configuración del proxy en diferentes lugares, al menos incluyendo el /etc/apt/sources.listarchivo, SIN EMBARGO ...

No tiene ningún mecanismo para solicitar la autenticación. No tengo idea de por qué nadie ha hecho esa parte todavía, pero debido a esto, si necesita autenticación, también debe poner su contraseña y nombre de usuario en este formato:

username:[email protected]

Si su contraseña o nombre de usuario tiene caracteres especiales, incluidos @o #o !lo que sea, probablemente tendrá que usar el código de caracteres HTML para cualquiera de esos caracteres especiales. Consulte esta página para saber cómo puede hacerlo: http://www.obkb.com/dcljr/charstxt.html

Yfrwlf
fuente
1

También estaba enfrentando el mismo problema. Entonces llegué a saber sobre CNTLM. Ahora funciona muy bien. Vea cómo configurar CNTLM aquí.

irfan_np
fuente
2
Si bien esto puede responder teóricamente la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia.
Oyibo
¡Gracias! Esta fue la única respuesta que realmente me ayudó. Otras respuestas (que ya sabía) suponen que el proxy está utilizando la autenticación HTTP básica, que no era mi caso.
Alexander Amelkin
1

Hice un script de Python para establecer la configuración del proxy en Ubuntu

Asuma la siguiente configuración, debe reemplazarla en lugares relevantes

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

He hecho un video que te lleva a través de todos los pasos:

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

Los pasos se detallan aquí:

  • Primero haz clic en Dash
  • En el cuadro de búsqueda, ingrese "Proxy" (sin comillas)
  • Haga clic en "Red" en Aplicaciones
  • Seleccione "Proxy de red"
  • Seleccionar manual
  • Ingrese la dirección proxy y el puerto proxy
  • Aplicar. Ingrese la contraseña de su sistema para confirmar

Descargar el guion setproxy.py

https://pastebin.com/MbBHta8g

Digamos que ha guardado el setproxy.pyen la Downloadscarpeta

  • Tipo de terminal abierta
  • cd ~ / Descargas

Comando general:
sudo python setproxy.py proxy_address proxy_port proxy_username proxy_password
Para nuestro ejemplo

  • sudo python setproxy.py 172.16.26.214 3128 king queen

En caso de proxy simple Sin autenticación, el comando es:

  • sudo python setproxy.py 172.16.26.214 3128

En caso de que lo haya python 3ejecutado y más arriba, python2.7 los comandos se verán como

  • sudo python2.7 setproxy.py 172.16.26.214 3128
  • sudo python2.7 setproxy.py 172.16.26.214 3128 king queen
Mayank Agarwal
fuente
1
Usar Dropbox o copiar para almacenar scripts es muy malo. Debería usar github o paste.bin al menos
Quan al
0

También puedes probar los siguientes comandos.

Para conexión http - exportar:

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

Para conexión https - exportar:

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

Y del mismo modo para ftp y otras conexiones.

darkdefender27
fuente