Требуется 407 прокси-аутентификация

Когда я пытаюсь установить программное обеспечение с помощью Ubuntu Software Center, я получаю:

Failed to download repository information
Check Your Internet connection

Когда я пытаюсь сделать apt-get install something, Я получил:

407  Proxy Authentication Required

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

Когда я использую ИНТЕРНЕТ через Mozilla, он запрашивает у меня имя пользователя и пароль.

11 ответов

Чтобы ваш apt-get заработал, вы должны отредактировать файл конфигурации apt:

sudo -H gedit /etc/apt/apt.conf

И добавить Acquire::http::Proxy "http://username:password@proxyhost:port/";

Синтаксис, показанный выше, должен строго соблюдаться.

Эта конфигурация может потерпеть неудачу, если ваше имя пользователя или пароль содержит "@". Вы также можете добавить настройки прокси для других протоколов, таких как FTP.

Обновление: если ваше имя пользователя или пароль содержит "@", вы можете заменить его на%40. Пример: Если ваш пароль @123 введите это как %40123,

Для других символов см. Это процентное кодирование

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

Добавьте свою среду прокси. Это просто пример настроек...
Откройте вход в командную строку и отредактируйте файл apt.conf:

sudo vi /etc/apt/apt.conf

Уже есть 4 строки кода, начинающиеся с ключевого слова Acquire, отредактируйте его так:

Acquire::http::Proxy "http://username:password@proxyhost:port/";
Acquire::https::Proxy "https://username:password@proxyhost:port/";
Acquire::ftp::Proxy "ftp://username:password@proxyhost:port/";

Заметка
Если ваш пароль содержит специальные символы, такие как @,$,! (например, Пароль: P@ssword), затем замените специальные символы их эквивалентами в шестнадцатеричном коде с префиксом% следующим образом:

Acquire::http::Proxy "http://username:p%40ssword@proxyhost:port/"; 

@ ==>% 40
$ ==>% 24
! ==>% 21

Если вы используете корпоративный прокси-сервер, на котором выполняется аутентификация NTLM, вы можете использовать CNTLM:

$ sudo apt-get install cntlm
$ sudo vi /etc/cntlm.conf

Изменить настройки по умолчанию (домен, имя пользователя, пароль и прокси). Затем перезапустите сервис:

$ sudo /etc/init.d/cntlm restart

Теперь вы можете использовать localhost:3128 (порт CNTLM по умолчанию) в качестве общесистемного прокси для Ubuntu.

Проверьте http://cntlm.sourceforge.net/ для документов.

Если ваше имя пользователя разделено пробелом, используйте:

export http_proxy='http://Pankaj Kumar Pandit:ABCD@192.168.1.1:3128/'

Если ваше имя пользователя не разделено пробелами, используйте:

export http_proxy=http://Pankaj_Kumar_Pandit:ABCD@192.168.1.1:3128/

Разница заключается в добавлении открытия и закрытия ',

Я думаю, что этот урок должен помочь вам.

Нажмите на вкладку "Сеть", выберите "Настройка прокси вручную" и введите свой прокси-сервер, данные порта. Если у вас есть имя пользователя, пароль, нажмите "Аутентификация", чтобы ввести эти данные, нажмите "ОК".

http://www.ubuntugeek.com/how-to-configure-ubuntu-desktop-to-use-your-proxy-server.html)

Чтобы вызвать его для всех программ, запускаемых в оболочке, я бы предложил вам либо добавить его в свой /etc/bash.bashrc с помощью gksudo gedit /etc/bash.bashrc применять его для всей системы для всех сеансов bash или для вашего пользовательского пространства ~/.bashrc,

Что касается Synaptic, в Preferences под Network На вкладке вы, похоже, сможете установить аутентификацию для ваших прокси. Это, кажется, специфично для Synaptic.

Хорошей альтернативой является использование Synaptic Package Manager. Установить Synaptic, где вы можете указать независимые от системы настройки прокси, а также сохранить имя пользователя и пароль.

Настройки прокси

Тем не менее, это не изменит прокси для Software Center.

В последних версиях Ubuntu вы можете использовать Системные настройки> Сеть> Сетевой прокси, и когда вы нажимаете "apply system wide" он изменяет настройки прокси в разных местах, по крайней мере, включая /etc/apt/sources.list файл, ОДНАКО...

У него нет механизма для запроса аутентификации. Понятия не имею, почему никто еще не сделал эту часть, но из-за этого, если вам нужна аутентификация, вам нужно также указать свой пароль и имя пользователя в этом формате:

username:password@proxy.address

Если ваш пароль или имя пользователя содержит какие-либо специальные символы, в том числе @ или же # или же ! или что-то еще, вам, вероятно, придется использовать HTML-кодированный символ для любого из этих специальных символов. Смотрите эту страницу, чтобы узнать, как это сделать: http://www.obkb.com/dcljr/charstxt.html

Я сделал скрипт Python для установки параметров прокси в Ubuntu

Примите следующие настройки, которые необходимо заменить в соответствующих местах

  • proxy_address 172.16.26.214
  • proxy_port 3128
  • proxy_username king
  • proxy_password queen

Я сделал видео, которое проведет вас через все шаги:

https://www.youtube.com/watch?v=eBtzKa-dvJg

Шаги подробно здесь:

  • Сначала нажмите на тире
  • В поле поиска введите "Прокси" (без кавычек)
  • Нажмите "Сеть" в разделе "Приложения".
  • Выберите "Сетевой прокси"
  • Выберите Ручной
  • Введите адрес прокси и порт прокси
  • Применять. Введите системный пароль для подтверждения

Скачать скрипт setproxy.py

https://pastebin.com/MbBHta8g

Допустим, вы сохранили setproxy.py в Downloads папка

  • Тип открытого терминала
  • CD ~/ Загрузки

Главное командование:
sudo python setproxy.py proxy_address proxy_port proxy_username proxy_password
Для нашего примера

  • sudo python setproxy.py 172.16.26.2143128kingqueen

В случае простого прокси без аутентификации команда выглядит так:

  • sudo python setproxy.py 172.16.26.2143128

Если у вас есть python 3 и выше запустить с помощью python2.7 так что команды будут выглядеть

  • sudo python2.7 setproxy.py 172.16.26.2143128
  • sudo python2.7 setproxy.py 172.16.26.2143128kingqueen

Я также столкнулся с той же проблемой. Тогда я узнал о CNTLM . Теперь это работает очень хорошо. Посмотрите, как настроить CNTLM здесь.

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

Для http соединения - экспорт:

http_proxy="http://username:password@proxy_server_address:port_no"

Для соединения https - экспорт:

https_proxy="https://username:password@proxy_server_address:port_no"

И так же для ftp и других соединений.

В моем случае я сэкономил apt.confсоздан на основе ответа jaseem , в домашний каталог вместо /etc/aptи указал -cопция в команде apt.

      $ sudo apt -c=~/my-apt.conf update

Вы также можете указать путь к файлу конфигурации в переменной окружения APT_CONFIG.

      $ export APT_CONFIG=~/my-apt.conf
$ sudo apt update
Другие вопросы по тегам