1

Где наиболее подходящее место для установки переменных среды для всех (включая неинтерактивных) сессий ssh и для всех пользователей (включая root)?

Я полагаю, что это может быть в сценарии в /etc/profile.d/ , но я не уверен, что внесение изменений не повлияет на что-то другое в моей конфигурации.

2 ответа2

2

Из справочной страницы sshd(8) , раздел FILES :

 ~/.ssh/environment
         This file is read into the environment at login (if it exists).
         It can only contain empty lines, comment lines (that start with
         ‘#’), and assignment lines of the form name=value.  The file
         should be writable only by the user; it need not be readable by
         anyone else.  Environment processing is disabled by default and
         is controlled via the PermitUserEnvironment option.
2

В sshd_config вы можете установить, например,

ForceCommand /usr/local/bin/setsshenv

где setsshenv выглядит примерно так:

#!/bin/bash
export VAR1=value1
export VAR2=value2
...
exec $SSH_ORIGINAL_COMMAND

Я не уверен, будет ли это выполняться до или после прочтения пользовательских скриптов ~/.ssh/environment.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .