Definir variáveis de ambiente para ssh não interativo

1

Onde é o local mais apropriado para definir variáveis de ambiente para todas as sessões ssh (incluindo não-interativas) e para todos os usuários (incluindo raiz)?

Acredito que possa estar em um script em /etc/profile.d/ , mas não tenho certeza de que fazer uma alteração lá não afete mais nada na minha configuração.

    
por Andrew Walker 03.11.2011 / 06:15

2 respostas

2

Da página sshd(8) man, seção 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.
    
por 03.11.2011 / 06:26
2

Em sshd_config, você pode definir, por exemplo,

ForceCommand /usr/local/bin/setsshenv

onde setsshenv é algo assim:

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

Não tenho certeza se isso seria executado antes ou depois que os scripts ~ / .ssh / environment dos usuários fossem lidos.

    
por 03.11.2011 / 09:44