Вопрос или проблема
Я только что установил ubuntu 18.4 на свой сервер. Поскольку мы находимся за межсетевым экраном, мне нужен прокси. Linux и прокси моей компании не работают вместе, поэтому я установил cntlm на одном компьютере. Эта служба имеет надлежащую аутентификацию на прокси нашей компании. Затем я пытался получить этот прокси cntlm с моего сервера.
Скажем, User= MyUser, Password = MyPassword, Domain = MyDomain. 172.24.213.55 — это компьютер с службой cntlm.
В bash.bashrc
я добавил следующие строки:
#установить прокси
function setproxy(){
export {http,https,ftp}_proxy="http://MyDomain\\MyUser:[email protected]:3128/"
}
#убрать прокси
function unsetproxy() {
unset {http,https,ftp}_proxy
}
Я перезагрузил систему и затем запустил setproxy. Но когда я затем запускаю sudo apt-get update,
Я получаю
407 Требуется аутентификация прокси [IP: 172.24.213.55 3128].
Как новичок, я не могу найти причину. Я изменил /etc/profile
, /etc/environment
, /etc/apt/apt.conf
(здесь с acquire::http::proxy
), 95proxies
и так далее.
Есть идеи?
Если вы находитесь за прокси с аутентификацией CNTLM, вам нужно правильно настроить демона CNTLM.
Сначала установите правильный домен и имя пользователя в файле /etc/cntlm.conf
:
#
# Конфигурация прокси для аутентификации Cntlm
#
# ПРИМЕЧАНИЕ: все значения разбираются буквально, не экранируйте пробелы,
# не ставьте кавычки. Используйте права 0600, если вы используете текстовый пароль.
#
Username domainusername
Domain domainname
# Список родительских прокси, которые нужно использовать. Можно определить
# несколько прокси, по одному на строку в формате <proxy_ip>:<proxy_port>
Proxy 123.123.123.123:1234
Затем выполните cntlm -H
и введите свой доменный пароль:
$ cntlm -H
Пароль:
PassLM XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassNT XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassNTLMv2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Только для пользователя ' domainusername ', домен ' domainname '
Добавьте вывод (от PassLM до PassNTLMv2) в файл /etc/cntlm.conf
и перезапустите демона CNTLM.
Затем вы можете добавить export http_proxy=http://localhost:3128
в вашу конфигурацию bash.
Большое спасибо. Не имея соединения с интернетом, я пытался использовать службу cntlm, работающую на моем клиенте с Windows, и пытался обратиться к этой службе с моего сервера ubuntu. Это не сработало. Я скачал cntlm откуда-то еще, а затем установил его прямо на сервер ubuntu. Используя ваше объяснение, и после перезагрузки системы это, наконец, сработало.
Ответ или решение
Проблемы с аутентификацией через прокси CNTLM на сервере Ubuntu 18.04
Если вы столкнулись с проблемами аутентификации при попытке использовать CNTLM на сервере Ubuntu 18.04, когда ваш сервер находится за корпоративным прокси-сервером, следуйте этому руководству, чтобы устранить основные проблемы.
Шаг 1: Установите и настройте CNTLM
-
Установка CNTLM:
Убедитесь, что CNTLM установлен на вашем сервере. Если вы еще этого не сделали, установите его с помощью следующей команды:sudo apt-get update sudo apt-get install cntlm
-
Редактирование конфигурационного файла:
Отредактируйте файл конфигурации CNTLM по следующему пути:/etc/cntlm.conf
. Убедитесь, что поляUsername
,Domain
иProxy
заполнены корректно. Например:Username MyUser Domain MyDomain Proxy 172.24.213.55:3128
Также, если у вас есть родительские прокси, добавьте их в этот файл.
Шаг 2: Генерация паролей CNTLM
Для аутентификации CNTLM необходимо создать хэшированные версии вашего пароля. Выполните команду:
sudo cntlm -H
Вас попросят ввести ваш доменный пароль. После выполнения команды вы получите выходные данные, содержащие хэши паролей. Добавьте их в свой файл конфигурации:
PassLM XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassNT XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassNTLMv2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
После добавления хэшей, сохраните файл и перезапустите службу CNTLM командой:
sudo systemctl restart cntlm
Шаг 3: Настройка прокси в окружении
Убедитесь, что у вас правильно настроены переменные окружения для прокси. Чтобы добавить конфигурацию прокси в вашу сессию, вы можете использовать команды следующего вида:
export http_proxy="http://localhost:3128"
export https_proxy="http://localhost:3128"
Если вы хотите, чтобы это настроилось постоянно, добавьте эти строки в ваш .bashrc
или .profile
.
Шаг 4: Проверка конфигурации APT
Для настройки apt
для работы через прокси, отредактируйте файл /etc/apt/apt.conf
и добавьте следующее:
Acquire::http::Proxy "http://localhost:3128";
Acquire::https::Proxy "http://localhost:3128";
Шаг 5: Тестирование
Теперь выполните команду обновления пакетов:
sudo apt-get update
Если все сделано правильно, вы не должны получать ошибку 407 Proxy Authentication Required
.
Заключение
Если вы продолжаете сталкиваться с проблемами после выполнения всех вышеперечисленных шагов, убедитесь, что CNTLM функционирует должным образом, проверив его статус и журналы:
sudo systemctl status cntlm
sudo journalctl -u cntlm
Также проверьте соединение с прокси, убедившись, что ваша сеть и все настройки прокси правильно функционируют. Помните, что правильная конфигурация CNTLM — это залог успешной работы вашего сервера с корпоративным прокси-сервером.
Следуя данному руководству, вы сможете решить проблемы с аутентификацией через прокси CNTLM на Ubuntu 18.04. Удачи!