Preferências de proxy de rede do Linux Mint não afeta aplicativos de linha de comando?

4

Estou executando o Linux Mint 11 (Katya) com o GNOME 2 e estou por trás de um proxy corporativo. Eu entrei nas Preferências de Proxy da Rede e coloquei na minha URL de configuração automática, e isso parece funcionar para coisas como Pidgin e Chrome (embora não Thunderbird ...), mas isso não afeta os programas que eu executo do terminal , por exemplo ssh, telnet, git, et al. Eu bati o botão "Aplicar todo o sistema ..." em Preferências de proxy de rede, o que me pede minha senha duas vezes, mas não parece ajudar.

Alguma ideia?

    
por Joseph 25.07.2012 / 22:01

3 respostas

5

Basta editar o arquivo /etc/profile com, por exemplo, nano:

sudo nano /etc/profile

e no final do arquivo, adicione

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

onde foo_server é o seu servidor proxy, e porta é a porta que você precisa para se conectar ao seu servidor proxy.

Para verificar se as novas configurações estão em uso, use o tipo source /etc/profile e você pode verificar se o servidor está em uso com (instale o curl se ainda não tiver)

curl icanhazip.com

que deve retornar o endereço do servidor proxy.

Software como git, ssh, telnet, tenderá a ignorar essas configurações e usar as suas próprias, eu sei que there are several utilities para ssh que permite que você faça isso. Não haverá uma forma única de funcionar para todos .

Talvez questões separadas, em relação a cada serviço que você quer usar, seja uma opção melhor do que pedir uma maneira global de fazê-lo funcionar, a resposta curta aqui seria: não há maneira global .

    
por 31.07.2012 / 11:43
2

Com relação ao ambiente do console

Definir as várias variáveis de ambiente, como as outras respostas sugerem, é o caminho a percorrer. Eu também definiria equivalências maiúsculas de todas as variáveis, pois alguns aplicativos reconhecem apenas um ou outro. Além disso, eu definiria NO_PROXY para hosts que você não deseja usar como proxy, por exemplo:

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

SSH Proxy

Isso requer um pouco mais de ajustes. Existe uma ferramenta de terceiros chamada 'conectar' disponível aqui . Sua homepage é aqui . Ele permitirá que você faça proxy nas conexões SSH por meio de proxies HTTPS e SOCKS. No entanto, suporta apenas métodos básicos de autenticação.

Para isto funcionar, você terá que modificar seu arquivo ~ / .ssh / config para usar o comando 'connect' como comando de proxy. Supondo que seu servidor SOCKS corporativo esteja sendo executado em socks.corporate.com na porta 1080, você pode adicionar a opção ProxyCommand em ~ / .ssh / config, desta forma:

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

As variáveis% he% p serão substituídas ao chamar o comando proxy com o nome do host de destino e a porta especificada para o comando SSH.

Se você não quiser adicionar uma entrada HOST separada para cada host de destino único, também poderá usar curingas:

## 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

Da mesma forma, se você quiser usar o proxy https, use a opção -H em vez da opção -S no exemplo acima, assim:

## 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

Como você está em uma rede corporativa, talvez seja uma boa ideia certificar-se de que seu departamento de TI está bem com o proxy SSH. Talvez eles até tenham uma solução melhor que a minha. Caso contrário, você pode acabar na lista negra e sem conectividade:)

    
por 04.08.2012 / 23:30
1

No prompt do console é muito fácil usar a variável de ambiente http_proxy, o que nos permite conectar a partir da sessão / aplicativo no modo de texto para a internet.

Escreva o seguinte comando para configurar o servidor proxy, dependendo da sua configuração:

$ 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 30.07.2012 / 23:25