Интерактивная настройка прокси-сервера в консоли Linux

Зачастую, из ssh-консоли какой-нибудь Linux-машины требуется получить доступ во внешнюю сеть: браузер в консоли, конечно, еще то удовольствие, однако всякие apt-get’ы и yum’ы просятся наружу будь здоров. Да мало ли зачем я собрался в сеть? Все осложняется, когда приходят они Linux-машина находится за прокси-сервером.

Собственно, для того, чтобы настроить приложения на использование прокси-сервера для http-протокола, необходимо всего лишь установить одну переменную окружения:

export http_proxy='http://domain\user:password@firewall:port'

Это можно сделать и в консоли, и в пользовательском конфигурационном файле bash’a, чтобы эта настройка применялась при логине. Однако есть ситуации, когда машина, так сказать, общая, в результате чего оставлять настройки в конфигурационном файле — не очень хорошо, а после ввода из командной строки нужно не забывать чистить файл ~/.history.

В результате придумался такой скриптик, который позволяет интерактивно ввести учетные данные пользователя:

set_proxy()
{
        echo -n  "  domain: "
        read pr_domain
        echo -n  "username: "
        read pr_username
        echo -n "password: "
        read pr_password
        export http_proxy='http://'$pr_domain'\'$pr_username':'\
$pr_password@'FIREWALL:PORT'
        clear
        echo "http_proxy environment variable successfully set"
}

Вот его можно со спокойной совестью добавить в дот-файл bash’а, и в следующий раз, когда понадобится воспользоваться доступом во внешнюю сеть, выполнить в консоли команду «set_proxy» и ввести запрошенные данные.

N.B.: Не забудьте поменять в приведенном примере скрипта FIREWALL и PORT на настоящее имя и порт прокси-сервера.