Как подключиться к интернету из Терминала при использовании прокси с аутентификацией

14

Я должен использовать прокси-серверы для подключения к Интернету. Я установил все прокси в настройках моего системного прокси. Теперь я могу подключиться к Интернету, используя свой браузер и приложения.

Но я не могу подключиться к интернету с моего терминала.

Я старался

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

Но все же терминальные приложения не могут подключиться к Интернету.

TLE
источник
1
Какую команду вы выполняете в Терминале, чтобы «подключиться к Интернету»? Или как вы видите, что вы не можете подключиться?
nohillside
1
Прокси-сервер (без s), о котором вы здесь говорите, передает ваши соединения web, а не все ваши интернет-соединения. webсоединения используют порты 80, 443…. Интернет-соединения могут использовать все оставшиеся порты из набора 65536. Например, соединение sshбудет использовать порт 22, который не будет проходить через ваш httpпрокси-сервер. Отсюда вопрос о патрикс, чтобы помочь вам получить лучший ответ.
Дан
@patrix ping google.com
TLE
@TLE Ping является исключением из правила и фактически вообще не использует прокси, даже если http_proxyон установлен. Ping ожидает прямого соединения, и во многих случаях, когда используется прокси, ping не будет работать, хотя прокси все равно будет успешно подключаться.
BinaryMisfit
3
попробуйте curl -o /dev/null www.google.comвместоping
nohillside

Ответы:

12

Терминал не использует параметры прокси-сервера, настроенные на панели сетевых настроек, потому что он не подключается. Терминал просто позволяет вам запускать команды, которые будут использовать сеть по-разному.

При установке ваших переменных http_proxyи https_proxyпеременных окружения не следует включать префиксы http:или https:.

Поэтому переменная окружения в вашем случае должна выглядеть так:

http_proxy=username:password@proxyserver:port

Примечание: многие старые программы имеют проблемы с подключением через прокси-серверы, которые требуют подключения перед подключением.

Дополнительный совет:

Благодаря нашей инфраструктуре мы обнаружили, что пользователям SquidMan гораздо проще запускать локально и настроить его на подключение к нашему основному прокси. Это позволяет локальному компьютеру выступать в качестве прокси-сервера напрямую и устраняет множество проблем с аутентификацией и т. Д. При использовании прокси-серверов на компьютерах Mac, особенно в смешанной среде и среде AD.

В случае использования этого метода наш http_proxyи https_proxyбудет:

http_proxy=localhost:3128
BinaryMisfit
источник
Вы имеете в виду, что я должен написать export http_proxy = "username: password @ proxyserver: port"
TLE
@TLE Правильно. Терминалу не нужно знать протокол, поскольку он уже знает, что это HTTP-соединение.
BinaryMisfit
Но я все еще не могу подключиться к Интернету.
TLE
@TLE Тогда проблема, скорее всего, с аутентификацией. Попробуйте установить прокси-сервер без указания имени пользователя и пароля. Это означает, что вам будет предложено ввести эту информацию при попытке подключения. Обычно это означает, что сам прокси не поддерживает соединение с Терминалом. У нас была похожая проблема внутри, поэтому я предложил решение SquidMan.
BinaryMisfit
до сих пор не работает??
TLE
0

Я недавно столкнулся с этой проблемой и в поисках нашел этот пост . Добавляя некоторые пункты, которые были успешными для меня (на Mac, используя Терминал):

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

И для https:

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

Из этого я смог использовать gitи brewбез проблем (и аутентификацию через прокси).

Миколай
источник
-1

Вы можете использовать следующую команду в окне терминала.

networksetup -setairportnetwork $Interface $ssID $Password

Здесь $Interfaceуказан идентификатор стиля «enX» для вашей карты AirPort (обычно en1, но это en0 для MacBook Airs и en2 для Mac Pro, и может отличаться и по другим причинам)

$ssIDэто имя вашей сети, например "SSID Саймона". Заключите его в кавычки, если он содержит пробелы.

$Password ваш пароль WEP, WPA-PSK или WPA2-PSK.

Азик Абдулла
источник
1
Это настраивает сеть, не позволяет самому терминалу подключаться через прокси.
BinaryMisfit