Какие переменные среды доступны во время сеанса SSH?
Кроме SSH_ORIGINAL_COMMAND, какие еще переменные среды существуют во время сеанса SSH? Есть ли окончательный список там?
2 ответа
Попробуйте запустить env
(или же set
) и получить полный список? Если вы хотите SSH-специфичные, вам нужно указать поставщика (и в идеале платформу, и хотя бы основной номер версии) для вашего ssh
а также sshd
провайдеры.
Я составил список имен переменных среды оболочки, используемых OpenSSH v8.8. Ответ см. в разделе «Пересылка SSH» ниже.
Переменные среды, используемые в OpenSSH (8.8p1) в качестве ссылок статическимgetenv(3)
функция и дополнен моими обзорами кода.
Переадресатор сеансов SSH
Для пересылки сеансов OpenSSH список переменных среды:
- , хост по умолчанию/номер дисплея/и экран текущего сеанса рабочего стола, строка,
- , путь к домашнему каталогу пользователя, указанный в базе данных паролей, путь к файлу,
-
LOGIN
, имя пользователя UNIX; используется только в IBM AIX, строка, -
LOGNAME
, Синоним ПОЛЬЗОВАТЕЛЯ; установлено для совместимости с системами, использующими эту переменную., строка, - , имя сеанса MIT Kerberos 5; используется только в среде KRB5, строка; часто используется с Windows Active Directory,
-
MAIL
, Установите путь к локальному почтовому ящику пользователя для системы UNIX Maildir, путь к файлу или пути к каталогу, - , набор каталогов, в которых расположены исполняемые программы, список путей к файлам,
-
SSH_CLIENT
, (устарело) Информация о сокете подключения клиента SSH; устанавливается демоном sshd(8), строка, - , Идентифицирует клиентскую и серверную стороны соединения. Переменная содержит четыре значения, разделенных пробелами: IP-адрес клиента и номер порта клиента, а также IP-адрес сервера и номер порта сервера. Информация о соединении сокета SSH-клиента и сервера; устанавливается демоном sshd(8), строка,
-
SSH_ORIGINAL_COMMAND
, Эта переменная содержит исходную командную строку, если выполняется принудительная команда. Его можно использовать для извлечения исходных аргументов.; устанавливается демоном, строка, -
SSH_TTY
, установлено имя tty (путь к устройству), связанное с текущей оболочкой или командой. Если текущий сеанс не имеет tty, эта переменная не устанавливается. Устанавливается строкой ., -
SSH_TUNNEL
, Дополнительно устанавливается для содержания имен интерфейсов, назначенных, если клиент запрашивал переадресацию туннеля., string, -
SSH_USER_AUTH
, Дополнительно устанавливаетсяsshd(8)
эта переменная может содержать путь к файлу, в котором перечислены методы аутентификации, успешно использованные при установлении сеанса, включая все использованные открытые ключи., строка, -
SUPATH
, набор каталогов, в которых расположены исполняемые программы из оболочки суперпользователя, список путей к файлам, - , имя терминального устройства UNIX, строка,
- , часовой пояс UNIX, строка,
-
UMASK
, маска разрешения файла UNIX, 4-значный восьмеричный код, -
USER
, Установите имя пользователя, входящего в систему., строка,
Среда, используемая исполняемым файлом клиента/сервера
В отличие от сеанса интерактивной оболочки пользователя, перечисленного выше, следующие переменные среды напрямую влияют наssh
клиент иsshd
сами демоны.
SSH-клиент
Для клиента OpenSSH список переменных среды:
-
AUTHSTATE
- только IBM AIX; используется вместо/etc/environment
, спецификация файла, - , хост по умолчанию/номер дисплея/и экран текущего сеанса рабочего стола; Переменная указывает расположение сервера X11. Ssh автоматически устанавливает его так, чтобы он указывал на значение в форме «имя хоста:n», где «имя хоста» указывает хост, на котором работает оболочка, а «n» — целое число ≥ 1. ssh использует это специальное значение для пересылки соединений X11 через безопасный канал. Обычно пользователю не следует явно устанавливать DISPLAY, так как это сделает соединение X11 небезопасным (и потребует от пользователя вручную скопировать все необходимые авторизационные файлы cookie)., :.,
channels.c
- , абсолютный путь к кэшу учетных данных пользователя Kerberos5., filepath, ,
-
HOME
, путь к домашнему каталогу пользователя, указанный в базе данных паролей, путь к файлу, -
LANG
, локаль системы ОС, категория локали, -
PATH
, набор каталогов, в которых расположены исполняемые программы, список путей к файлам, - , Путь к исполняемому образу пользовательской оболочки, указанный в базе данных паролей., путь к файлу,
- , Если ssh требуется парольная фраза, он прочитает парольную фразу с текущего терминала, если он был запущен с терминала. Если у ssh нет связанного с ним терминала, но и установлены, то он выполнит программу, указанную в, и откроет окно X11 для чтения парольной фразы. Это особенно полезно при вызове ssh из .xsession или связанного скрипта. (Обратите внимание, что на некоторых машинах может потребоваться перенаправить ввод с
/dev/null
чтобы это работало.) устанавливается пользователем; путь к исполняемому файлу программы/скрипта Ask Password, путь к файлу, -
SSH_ASKPASS_ENV
, АльтернативойSSH_ASKPASS
, Путь к файлу, - , Позволяет осуществлять дальнейший контроль над использованием программы. Если для этой переменной установлено значение «
never
», то ssh никогда не попытается его использовать. Если установлено значение «prefer
" тогда ssh предпочтет использовать программу вместо TTY при запросе паролей. Наконец, если для переменной установлено значение "force
"тогдаaskpass
программа будет использоваться для ввода всех кодовых фраз независимо от того,DISPLAY
установлено., «никогда» или «предпочитаю», -
SSH_ASKPASS_REQUIRE_ENV
, АльтернативойSSH_ASKPASS_REQUIRE
, Путь к файлу,readpass.c
-
SSH_PKCS11_HELPER
, Используется с хранилищем HMS, путь к файлу,ssh-pkcs11-client.c
- , Двоичный файл помощника ключа безопасности для использования с ключами безопасности FIDO2 или U2F. Обычно находится в пути к файлу,
ssh-sk-client.c
-
SSH_SOCKS_SERVER
, информация о подключении брандмауэра SOCKS; установлен пользователем SSH ранееssh(1)
называется, строка, -
TERM
, Переменная среды TERM используется для работы с терминалом. Он позволяет DB-Access (и другим символьным приложениям) распознавать используемый вами терминал и взаимодействовать с ним.tty_name
,mux.c
ssh.c
- ,
TMPDIR
— это каноническая переменная среды в Unix и POSIX, которую следует использовать для указания временного каталога для рабочего пространства. Большинство программ Unix учитывают этот параметр и используют его значение для обозначения рабочей области для временных файлов вместо обычного значения по умолчанию./tmp
или/var/tmp
.,dirpath
,misc.c
-
TZ
, Сообщает, в каком часовом поясе вы находитесь., 3-значная строка часового пояса, auth-pam.c
SSH-сервер (демон)
Для сервера OpenSSH список переменных среды:
-
KRB5CCNAME
, абсолютный путь к кэшу учетных данных пользователя Kerberos5., путь к файлу,session.c
,sshd.c
-
SSH_CONNECTION
, Идентифицирует клиентскую и серверную стороны соединения. Переменная содержит четыре значения, разделенных пробелами: IP-адрес клиента и номер порта клиента, а также IP-адрес сервера и номер порта сервера. Информация о соединении сокета SSH-клиента и сервера; устанавливается демоном sshd(8), строка, sftp-server.c
- , Путь к исполняемому образу пользовательской оболочки, указанный в базе данных паролей., путь к файлу,
SSH-агент (демон)
Для агента OpenSSH список переменных среды:
-
SHELL
, Путь к исполняемому образу пользовательской оболочки, указанный в базе данных паролей., путь к файлу,readconf.c
sftp.c
sshconnect.c
-
SSH_AGENTPID_ENV_NAME
, Имя переменной среды, содержащей идентификатор процесса агента аутентификации., идентификатор процесса,ssh-agent.c
-
SSH_AUTHSOCKET_ENV_NAME
, Имя переменной среды, содержащей путь к сокету аутентификации., путь к файлу,authfd.c
-
SSH_AUTH_SOCK
, Определяет путь к сокету UNIX-домена, используемому для связи с агентом. Передано пользователю SSH, путь к сокету UNIX,
SSH-генератор ключей (CLI)
Дляssh-keygen
утилита, список переменных среды:
-
SSH_SK_PROVIDER
, Двоичный файл помощника ключа безопасности для использования с ключами безопасности FIDO2 или U2F. Обычно находится в пути к файлу, - , Двоичный файл помощника ключа безопасности для использования с ключами безопасности FIDO2 или U2F. Обычно встречается в
~/openssh/libexec/ssh-sk-helper
, Путь к файлу,
Добавить SSH ssh-add(1) (CLI)
Дляssh-add
утилита, список переменных среды:
-
SSH_SK_HELPER
, Двоичный файл помощника ключа безопасности для использования с ключами безопасности FIDO2 или U2F. Обычно встречается в~/openssh/libexec/libsk-libfido2
, Путь к файлу,ssh-add.c
ssh-keygen.c