Apache 2.2 представляет более гибкую подлинную схему, которая допускает несколько поставщиков. Связанный пример содержит строку:
Файл AuthBasicProvider ldap
Путем именования больше чем одного источника (файл и ldap), Вы определили несколько источников аутентификационной информации и их порядок. Легкий!
На компьютере с CentOS создайте в домашнем каталоге файл с именем .bashrc
и установите в нем переменные среды. Например, содержимое файла может быть:
export VARIABLE=foo
Вот некоторые обсуждения этого: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_01.html
Вы также можете используйте параметры SendEnv
и AcceptEnv
. Это позволит передавать переменные среды на клиенте на сервер.
Вам также потребуется изменить файл сервера sshd_config
, чтобы указать, какие переменные среды принимаются сервером. Я не уверен, что вам нужно сделать с PuTTY, чтобы запустить параметр SendEnv
, но это должно помочь вам начать работу.
Вы можете изменить PermitUserEnvironment в sshd.conf, чтобы разрешить обработку параметров ~ / .ssh / environment или "environment =" для ключей в ~ / .ssh / authorized_keys.
Формат из этих двух файлов отличается. ~ / .ssh / environment - это строки VARIABLBE = VALUE, где в ~ / .ssh / authorized_keys параметр среды - environment = "VARAIBLE = VALUE"
Вы можете ввести переменные среды в конфигурацию PuTTY в разделе Соединение -> Данные
.
Но это работает только при определенных условиях. Цитата из документация :
Протокол Telnet предоставляет возможность клиенту передавать переменные среды на сервер. [...]
Версия 2 протокола SSH также предоставляет аналогичный механизм, который проще реализовать без недостатков безопасности. Новые серверы SSH-2 с большей вероятностью будут поддерживать его, чем старые.
Эти данные конфигурации не используются в протоколах SSH-1, rlogin или raw.
Кроме того, это должно быть разрешено на стороне сервера. Для сервера OpenSSH конфигурационная директива называется AcceptEnv
. На сервере Ubuntu по умолчанию это выглядит так:
AcceptEnv LANG LC_*
Это позволяет вам определить переменную LANG
и все переменные, начинающиеся с LC_
в PuTTY, так что вы всегда можете получить результат в предпочитаемом вами языковом стандарте.
Если вы хотите установить дополнительные переменные, вы должны добавить их в список на всех серверах, к которым вы хотите подключиться. На старых (только SSH1) хостах это вообще не будет работать.
Для тех, кто не может изменять конфигурацию sshd
по разным причинам и / или имеет +2000 серверов (и не имеет доступа к инструментам массовой настройки или не может / не может » не хочу изменять настройки для других пользователей), вот решение, которое я придумал:
В PuTTY загрузите желаемый сеанс, перейдите в «Соединение»> «SSH». В разделе «Данные для отправки на сервер» в поле «Удаленная команда» используйте:
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] bash
Пример:
env -u PS1 PS1="[\u@\h]\\$ " bash
Сначала я отключил переменную, потому что иначе она не сработала.