Потрібна автентифікація проксі


38

Коли я намагаюся встановити програмне забезпечення за допомогою програмного центру Ubuntu, я отримую:

Failed to download repository information
Check Your Internet connection

Коли я намагаюся зробити apt-get install something, я отримую:

407  Proxy Authentication Required

Я використовую проксі-сервер, який вимагає імені користувача та пароля. Я встановив свій проксі-сервер вручну, підключивши потрібні номери до проксі-мереж і застосував його до системи в цілому. Я думаю, зараз проблема полягає в підключенні мого імені користувача та пароля.

Коли я використовую INTERNET через Mozilla, він спеціально запитує мене для свого імені користувача та пароля.

Відповіді:


48

Щоб apt-get to work, ви повинні відредагувати свій файл конфігурації apt:

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

І додайте Acquire::http::Proxy "http://username:password@proxyhost:port/";

Синтаксис, показаний вище, слід суворо дотримуватися.

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

Оновлення: Якщо у вашому імені користувача або паролі є "@", ви можете замінити його на% 40 Приклад: Якщо ваш пароль @123введіть його як %40123.

Для інших символів дивіться це кодування у відсотках


4
Я зробив саме те, що ви сказали, але це все одно дає мені ту саму помилку. Це не вирішило проблеми.
DeLiK

Я додав вищевказані налаштування проксі, але тепер я отримую 404 - Не знайдено, замість 407
Deepak

Що робити, якщо мій пароль містить "@"?
Đēēpak

12

Спочатку встановіть налаштування проксі-сервера за допомогою параметра майстра 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


Я додав вищевказані налаштування проксі, але тепер я отримую 404 - Не знайдено, замість 407
Deepak

Яка різниця між першим та четвертим рядком ????
Моатас Ельмасрі

5

Якщо ви стоїте за корпоративним проксі, на якому працює автентифікація 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/ на документи.


7
Для того, щоб sudo apt-get install cntlmприступити до роботи, спочатку потрібно пройти цей проксі.
Андрій Савіних

2

Я думаю, цей підручник повинен вам допомогти.

Перейдіть на вкладку Мережа, виберіть параметр "Налаштування проксі-сервера" та введіть свій проксі-сервер, дані про порт. Якщо у вас є ім'я користувача, пароль, натисніть на "Аутентифікація", щоб ввести ці дані, натисніть "ОК"

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.


Я використовую Ubuntu 11, чи можете ви мені допомогти у досягненні
синаптики

також де саме в thie bash.bashrc потрібно підключити ім'я користувача та пароль
user38507

export http_proxy=http://username:password@proxyhost:port/
Пантера

я дав команду sudo echo "експортувати http_proxy = swastik: ramdayal@192.168.11.107: 8081 " >> /etc/bash.bashrc, навіть зараз я отримую ту саму помилку
user38507

2

Приємною альтернативою є використання Synaptic Package ManagerВстановіть Synaptic , де ви можете вказати системні незалежні настройки проксі, а також зберігати ім’я користувача та пароль.

Налаштування проксі

Однак це не змінить проксі для Software Center.


2

Якщо ваше ім’я користувача розділено пробілом, тоді використовуйте:

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/

Різниця полягає в додаванні відкривання та закривання '.


2

В останніх версіях Ubuntu ви можете використовувати Налаштування системи> Мережа> Мережевий проксі, а при натисканні на "apply system wide"нього змінювати налаштування проксі у різних місцях, принаймні включаючи /etc/apt/sources.listфайл, ТАКЕ ...

У нього немає жодного механізму запрошення аутентифікації. Не маю ідеї, чому ще ніхто не зробив цю частину, але через це, якщо вам потрібна автентифікація, вам потрібно також ввести свій пароль і ім’я користувача у такому форматі:

username:password@proxy.address

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


1

Я також стикався з тією ж проблемою. Тоді я дізнався про CNTLM. Зараз це працює дуже добре. Дивіться, як налаштувати CNTLM тут.


2
Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Oyibo

Дякую! Це була єдина відповідь, яка насправді мені допомогла. Інші відповіді (які я вже знав) передбачають, що проксі використовує базову автентифікацію HTTP, що не було моїм випадком.
Олександр Амелкін

1

Я створив сценарій python для встановлення параметрів проксі в Ubuntu

Припустимо наступне налаштування, його потрібно замінити у відповідних місцях

  • проксі-адреса 172.16.26.214
  • proxy_port 3128
  • proxy_username король
  • королева proxy_password

Я створив відео, яке проходить вас через усі етапи:

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.214 3128 king queen

У випадку простого проксі без автентифікації команда:

  • sudo python setproxy.py 172.16.26.214 3128

У випадку, якщо ви python 3і вище запустите, використовуючи python2.7 так, команди будуть виглядати

  • sudo python2.7 setproxy.py 172.16.26.214 3128
  • sudo python2.7 setproxy.py 172.16.26.214 3128 king queen

1
Використання папки або копії для зберігання сценаріїв дуже погано. Ви повинні використовувати github або paste.bin як мінімум
Quan

0

Ви також можете спробувати наступні команди.

Для http-з'єднання - експорт:

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

Для з'єднання https - експорт:

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

І так само для ftp та інших з'єднань.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.