Como conectar-se à Internet a partir do Terminal ao usar um proxy com autenticação

14

Eu tenho que usar servidores proxy para me conectar à Internet. Eu defini todos os proxies nas minhas configurações de proxy do sistema. Agora eu posso me conectar à Internet usando meu navegador e aplicativos.

Mas não consigo me conectar à Internet no meu terminal.

eu tentei

export http_proxy="http://username:password@proxyserver:port/" 

Mas ainda assim os aplicativos de terminal não podem se conectar à Internet.

TLE
fonte
1
Qual comando você está executando no Terminal para "conectar-se à Internet"? Ou como você vê que não consegue se conectar?
nohillside
1
O servidor proxy (sem s) de que você está falando aqui está retransmitindo suas webconexões, nem todas as conexões à Internet. webconexões estão usando as portas 80, 443…. As conexões com a Internet podem usar todas as portas restantes do conjunto 65536. Como exemplo, uma sshconexão usará a porta 22 que não passará pelo seu httpservidor proxy. Daí a questão da patrix para ajudá-lo a obter uma resposta melhor.
dan
@patrix ping google.com
TLE
O @TLE Ping é uma exceção à regra e, na verdade, não usa o proxy, mesmo que http_proxyesteja definido. O ping espera uma conexão direta e, em muitos casos, quando um proxy está sendo usado, o ping falhará, embora o proxy ainda se conecte com êxito.
BinaryMisfit
3
tente em curl -o /dev/null www.google.comvez deping
nohillside

Respostas:

12

O terminal não usa configurações de proxy definidas no painel de preferências de rede porque não faz nenhuma conexão. O Terminal apenas permite disparar comandos que usarão a rede de maneiras diferentes.

Ao definir suas variáveis ​​de ambiente http_proxye https_proxy, não deve incluir os prefixos http:ou https:.

Portanto, a variável de ambiente no seu caso deve ser:

http_proxy=username:password@proxyserver:port

Nota: muitos programas antigos têm problemas com a conexão através de servidores proxy que requerem autenticação antes da conexão.

Dica adicional:

Devido à nossa infraestrutura, achamos muito mais fácil ter usuários executando o SquidMan localmente e configurá-lo para conectar-se ao nosso proxy principal. Isso permite que a máquina local atue como proxy diretamente e elimina muitos problemas de autenticação etc. ao usar servidores proxy em máquinas Mac, especialmente em ambientes misto e AD.

No caso de usar esse método, our http_proxye https_proxyseria:

http_proxy=localhost:3128
BinaryMisfit
fonte
você quer dizer que eu tenho que escrever para exportar http_proxy = "nome de usuário: senha @ proxyserver: port"
TLE
@TLE Correto. O terminal não precisa conhecer o protocolo, pois já sabe que é uma conexão HTTP.
BinaryMisfit
Mas ainda não consigo me conectar à Internet.
TLE
@ TLE Então, o problema provavelmente com a autenticação. Tente configurar o proxy sem incluir o nome de usuário e a senha, o que significa que você será solicitado a fornecer as informações ao tentar se conectar. Normalmente indica que o próprio proxy não suporta a conexão do Terminal. Tivemos um problema semelhante internamente e foi por isso que sugeri a solução SquidMan.
BinaryMisfit
Ainda não funciona??
TLE
0

Recentemente, encontrei este problema e, na pesquisa, encontrei este post . Adicionando alguns pontos que foram bem-sucedidos para mim (em um Mac, usando o Terminal):

export http_proxy=http://username:password@proxyserver:port
export HTTP_PROXY=${http_proxy}

E para https:

export https_proxy=https://username:password@proxyserver:port
export HTTPS_PROXY=${https_proxy}

Com isso, consegui usar gite brewsem problemas (e autenticar através de um proxy).

Mikolaj
fonte
-1

Você pode usar o seguinte comando na janela do terminal.

networksetup -setairportnetwork $Interface $ssID $Password

Aqui $Interfaceestá o identificador de estilo "enX" para sua placa AirPort (geralmente en1, mas en0 no MacBook Airs e en2 no Mac Pros e pode variar por outros motivos)

$ssIDé o nome da sua rede, como "SSID do Simon". Coloque-o entre aspas se ele contiver espaços.

$Password é sua senha WEP, WPA-PSK ou WPA2-PSK.

Azik Abdullah
fonte
1
Isso configura a rede, não permite que o próprio terminal se conecte através de um proxy.
BinaryMisfit