すべての(非対話型を含む)sshセッション、およびすべてのユーザー(rootを含む)の環境変数を設定するのに最も適切な場所はどこですか?
/etc/profile.d/
の下のスクリプトにある可能性があると思いますが、そこで変更を加えても、構成内の他の何かに悪影響が及ぶことはないと確信しています。
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.
Sshd_configで、たとえば次のように設定できます。
ForceCommand /usr/local/bin/setsshenv
ここで、setsshenv
は次のようになります。
#!/bin/bash
export VAR1=value1
export VAR2=value2
...
exec $SSH_ORIGINAL_COMMAND
これがユーザーの〜/ .ssh/environmentスクリプトが読み取られる前と後に実行されるかどうかはわかりません。