Проблемы с подключением через прокси в PowerShell Core на Linux

Вопрос или проблема

Я не могу настроить Powershell Core 6.1.0 на Linux для успешного доступа к прокси. Наш корпоративный прокси использует аутентификацию на основе IP, а не на основе пользователя.

Когда я пытаюсь выполнить Invoke-WebRequest для несуществующего URL, он возвращает HTML-прокси-сервера, отклоняющего URL. Когда я пытаюсь выполнить iwr для действительного разрешенного URL (например, того, который я могу просматривать в Firefox на своем сервере Ubuntu).

Всё это попытка скачать модули из Powershell Gallery, которые я снова могу просматривать из VM, но не могу получить доступ к галерее из Powershell, хотя он знает, что нужно использовать прокси.

Я получаю распространенную ошибку на Invoke-WebRequests: ‘Нет такого устройства или адреса’.

Чтобы правильно пройти через ваш прокси, я советую экспортировать вашу переменную окружения прокси из вашего Linux-слоя. Вот так:

export HTTP_PROXY=http://your-proxy:3128 
export HTTPS_PROXY=http://your-proxy:3128

Будьте осторожны с URI, не добавляйте завершающий / в конце вашего прокси (см. этот пост)

Затем на вашем уровне PowerShell вы должны быть в состоянии установить репозиторий по умолчанию с помощью:

Register-PSRepository -Default

Эта команда не работает из моей сессии Windows, но работает в консоли PowerShell из Linux

В конечном итоге вы можете попробовать последнюю команду из этой темы, которую я пробовал до того, как PowerShell выдал мне ошибку, что-то вроде

Если вы хотите зарегистрировать репозиторий PSRepository по умолчанию PSGallery, используйте Register-PSRepository -Default

Ответ или решение

Проблема с доступом к PowerShell Core на Linux через прокси-соединение, особенно при использовании IP-ориентированной аутентификации, может стать серьёзным препятствием при выполнении ваших задач. Давайте рассмотрим основные шаги для устранения этой проблемы и получения доступа к PowerShell Gallery.

1. Настройка переменных окружения для прокси

Первое, что необходимо сделать, это установить переменные окружения, которые указывают, как PowerShell должен взаимодействовать с вашим корпоративным прокси. Для этого выполните следующие команды в вашей терминале Linux:

export HTTP_PROXY=http://your-proxy:3128
export HTTPS_PROXY=http://your-proxy:3128

Важно обратить внимание на то, что в URL прокси не должно быть завершающего слэша (/), так как это может вызвать проблемы при обработке запросов.

2. Проверка интернет-доступа

Убедитесь, что ваш Ubuntu-сервер действительно может получить доступ к интернету через прокси. Попробуйте использовать команды curl или wget для проверки. Например:

curl -I https://www.google.com

Эта команда должна вернуть информацию о заголовках ответа, если прокси настроен корректно.

3. Регистрация репозитория PowerShell

Теперь, когда переменные окружения установлены, откройте PowerShell Core и выполните следующую команду для регистрации стандартного репозитория PSGallery:

Register-PSRepository -Default

Эта команда должна успешно зарегистрировать PSGallery как основной репозиторий для загрузки модулей.

4. Тестирование Invoke-WebRequest

Попробуйте выполнить команду Invoke-WebRequest с допустимым URL, чтобы проверить, корректно ли работает прокси и зарегистрирован ли репозиторий:

Invoke-WebRequest -Uri "https://www.powershellgallery.com"

Если всё настроено правильно, вы должны получить ответ о статусе сайта.

5. Решение проблемы "No such device or address"

Если вы продолжаете получать ошибку "No such device or address", проверьте настройки сетевого соединения на вашем сервере. Возможно, следует убедиться в том, что ваш сервер физически может обращаться к указанному прокси через IP-адрес. Убедитесь, что:

  • Прокси-сервер доступен по указанному адресу.
  • Файервол на сервере не блокирует соединения к прокси.
  • Сервер не настроен на использование другого типа соединения (например, IPv6 вместо IPv4).

Заключение

Следуя этим шагам, вы сможете настроить PowerShell Core на Linux для работы через прокси с IP-ориентированной аутентификацией. Убедитесь, что ваше сетевое окружение правильно настроено, и что все необходимые переменные окружения указаны для успешного выполнения команд. Если проблема не решается, рекомендуется проконсультироваться с вашим сетевым администратором для получения дополнительной информации о конфигурации прокси-сервера.

Оцените материал
Добавить комментарий

Капча загружается...