exportar HTTP_PROXY y caracteres especiales en passwd

exportar HTTP_PROXY y caracteres especiales en passwd

Supongamos, por el bien del argumento, que mi contraseña a continuación esabc123@

Necesito autenticar mi máquina Linux a través de un proxy corporativo para obtener parches y actualizaciones... normalmente usaría esto:

export HTTP_PROXY='http://<Americas\Username>:<Password>@proxy.foo.com'
export http_proxy='http://<Americas\Username>:<Password>@proxy.foo.com'

Sin embargo, cuando sustituyo una contraseña real que termina en @y luego ejecuto aptitude update, obtengo...

[mpenning@netwiki ~]$ sudo -E aptitude update
Err http://mirror.anl.gov squeeze Release.gpg
  Could not resolve '@proxy.foo.com'
Err http://mirror.anl.gov/debian/ squeeze/main Translation-en
  Could not resolve '@proxy.foo.com'

Intenté escapar de la contraseña con \@, escapar de ambos con \@\@caracteres dobles ( @@), y nada parece hacer que esto funcione correctamente; Nunca tuve ningún problema hasta que cambié mi contraseña recientemente.

¿Cuál es la forma correcta de escapar de mi contraseña bash?

Respuesta1

Tu podrías intentarcodificación de URLtu contraseña. @debe ser reemplazado por %40.

Abordar caracteres especiales en contraseñas de proxy en Linuxindica que esto debería funcionar, pero mirar a otras personas parece no funcionar (y no tengo forma de probarlo).

Respuesta2

¡Aún más simple y confiable!

Sintaxis general:

sudo {http,https,ftp}_proxy=http://<username>:<password>@<proxy_url/_proxyip>:<port>/ wget --timeout=5 --no-check-certificate http://<website_url>

Ejemplo:

[root@localhost ~]# sudo {http,https,ftp}_proxy=http://username:[email protected]:6050/ wget --timeout=5 --no-check-certificate http://google.com

{http,https,ftp}_proxy -> URL http, https, ftp. Separados por coma.

--tiempo de espera = 5 -> Conexión para mantenerse vivo en segundos.

-certificado-sin-verificación -> Ignorar SSL / Verificación de certificado.

--araña -> Si desea probar la conectividad sin descargar el archivo.

Notas:

Convertidor en línea:

Reemplace los caracteres especiales con su Unicode hexadecimal equivalente. Para obtener una lista de Unicodes, consulte el sitio web.https://unicode-table.com(o)http://unicodelookup.com

Convertidor local usando Python:

Referencia:la conversión de la contraseña "p@s#w:E" a Unicode será la siguiente,

@ = %40
$ = %24
# = %23
: = %3A
p@s#w:E = p%40s%23w%3AE

Aporte:

[root@localhost ~]# python -c "import sys, urllib as enc; print enc.quote_plus(sys.argv[1])" "p@s#w:E"

Producción:

p%40s%23w%3AE

Respuesta3

utilice %40 en lugar de @ en su contraseña,

Por ejemplo:

su contraseña es "A@ple123" entonces use "A%40ple123"

información relacionada