web-dev-qa-db-ja.com

非対話型SSHの環境変数を設定します

すべての(非対話型を含む)sshセッション、およびすべてのユーザー(rootを含む)の環境変数を設定するのに最も適切な場所はどこですか?

/etc/profile.d/の下のスクリプトにある可能性があると思いますが、そこで変更を加えても、構成内の他の何かに悪影響が及ぶことはないと確信しています。

2
Andrew Walker

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スクリプトが読み取られる前と後に実行されるかどうかはわかりません。

2
Andrew Schulman