¿Las preferencias de Linux Mint Network Proxy no afectan las aplicaciones de línea de comandos?


4

Estoy ejecutando Linux Mint 11 (Katya) con GNOME 2 y estoy detrás de un proxy corporativo. Entré en las Preferencias de Proxy de Red y puse mi URL de configuración automática, y esto parece funcionar para cosas como Pidgin y Chrome (aunque no Thunderbird ...), pero no afecta a los programas que ejecuto desde la terminal , p.ej ssh, telnet, git, et al. He presionado el botón "Aplicar todo el sistema ..." en Preferencias de Proxy de red, lo que me solicita mi contraseña dos veces, pero no parece ayudar.

¿Alguna idea?


A veces, simplemente reiniciando el terminal después de configurar el proxy, Apple realiza las modificaciones automáticamente. Si no se aplica lo que está en los otros comentarios :)
MSIS

Respuestas:


5

Simplemente edita tu /etc/profile archivo con es decir, nano:

sudo nano /etc/profile

y al final del archivo agregar

http_proxy="http://user:password@foo_server:port"
https_proxy="http://user:password@foo_server:port"
ftp_proxy="http://user:password@foo_server:port"
export http_proxy ftp_proxy https_proxy

dónde foo_server es su servidor proxy, y Puerto es el puerto que necesita para conectarse a su servidor proxy.

Para comprobar si las nuevas configuraciones están en uso, utilice el tipo de uso. source /etc/profile y luego puede verificar que el servidor esté en uso con (instale curl si aún no lo tiene)

curl icanhazip.com

Eso debería devolver la dirección de su servidor proxy.

Software como git, ssh, telnet, tenderá a ignorar esas configuraciones y usar las suyas propias, lo sé. there are several utilities para ssh que te permiten hacer eso No habrá un único, trabaja para todos forma de hacerlo.

Tal vez las preguntas separadas, con respecto a cada servicio que desea utilizar, sean una mejor opción que pedir una forma global de hacer que funcione, la respuesta corta aquí sería: no hay una manera global .


Esto hace que funcionen cosas como wget y curl, y supongo que hay otras herramientas que usan HTTP específicamente, pero aún así no corrige SSH / telnet. ¿Se supone que debe hacerlo, y esto puede ser simplemente un problema con el proxy / firewall que estoy detrás, o hay algo más, o es lo que quiero, tal vez no sea posible en el escenario en el que estoy?
Joseph

1
@Joseph Creo que necesitas usar las opciones de los programas para forzar un proxy en ellos, aparte de que esta es la mejor solución (y solo que yo sepa). Editaré la respuesta para incluir un ejemplo.
Bruno Pereira

Una aplicación aleatoria que usa un protocolo diferente al HTTP generalmente no funciona con un proxy HTTP, a menos que el proxy HTTP admita el método HTTP CONNECT, que esté habilitado en su configuración y se le permita usar esta función cuando se conecta a través del proxy.
AnonymousLurker

2

Con respecto al entorno de la consola

Establecer las diversas variables de entorno, como sugieren otras respuestas, es el camino a seguir. También definiría las contrapartes en mayúsculas de todas las variables, ya que algunas aplicaciones solo reconocen una u otra. Además, definiría NO_PROXY para los hosts que no desea usar como proxy, por ejemplo:

  export no_proxy="localhost,127.0.0.1,localaddress,.corporate.com"

Proxying SSH

Esto requiere un poco más de ajustes. Hay una herramienta de terceros llamada 'conectar' disponible aquí . Su página de inicio es aquí . Le permitirá establecer conexiones SSH a través de proxies HTTPS y SOCKS. Sin embargo, solo admite métodos de autenticación básicos.

Para que esto funcione, tendrá que modificar su archivo ~ / .ssh / config para usar el comando 'conectar' como comando proxy. Suponiendo que su servidor corporativo SOCKS se esté ejecutando en socks.corporate.com en el puerto 1080, puede agregar la opción ProxyCommand en ~ / .ssh / config, como esto:

Host remote.outside.net
  ProxyCommand connect -S socks.corporate.com %h %p

Las variables% h y% p se reemplazarán al invocar el comando proxy con el nombre de host de destino y el puerto especificado para el comando SSH.

Si no desea agregar una entrada HOST separada para cada host de destino, también puede usar comodines:

## Outside of the firewall, use connect command with SOCKS conenction.
Host *
  ProxyCommand connect -S socks.corporate.com %h %p

## Inside of the firewall, use connect command with direct connection.
Host *.socks.coporate.com
  ProxyCommand connect %h %p

De manera similar, si desea usar el proxy https, use la opción -H en lugar de la opción -S en el ejemplo anterior, como esto:

## Outside of the firewall, with HTTP proxy
Host *
  ProxyCommand connect -H proxy.corporate.com:8080 %h %p

## Inside of the firewall, direct
Host *.corporate.com
  ProxyCommand connect %h %p

Ya que está en una red corporativa, tal vez sea una buena idea asegurarse de que su departamento de TI esté bien con su proxy SSH. Tal vez incluso tienen una mejor solución que la mía. De lo contrario, podría terminar en la lista negra y sin ninguna conectividad :)


1

Desde el indicador de la consola es muy fácil utilizar la variable de entorno http_proxy, que nos permite conectarnos desde la sesión / aplicación en modo texto a Internet.

Escriba el siguiente comando para configurar el servidor proxy según su configuración:

$ export http_proxy=http://servidor-ip:port/
$ export http_proxy=http://127.0.0.1:3128/
$ export http_proxy=http://proxy.myempresa.com:3128/

Por favor vea mi comentario sobre las otras respuestas. Esto funciona para algunas cosas, no para otras. ¡Gracias!
Joseph
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.