Не напрямую, но это довольно легко сделать, если вы используете OpenSSH
.Сначала включите PermitUserEnvironment
в sshd
config и перезапустите sshd
.Помните о возможных последствиях для безопасности, как описано в man sshd_config
:
PermitUserEnvironment
Specifies whether ~/.ssh/environment and environment= options in ~/.ssh/authorized_keys are processed
by sshd(8). The default is no. Enabling environment processing may enable users to bypass access
restrictions in some configurations using mechanisms such as LD_PRELOAD.
Теперь вы сохраняете новую переменную в ~/.ssh/environment
следующим образом:
ssh localhost 'echo variable=new-value-of-the-var > ~/.ssh/environment'
И другой пользователь может прочитать ее:
$ ssh localhost 'echo $variable'
new-value-of-the-var
Обратите внимание, что для этого необходимо использовать одинарные кавычки '
вместо "
, чтобы предотвратить расширение вашей оболочки $variable
перед передачей ее в ssh
.
Тем не менее, это не будет работать, если вы используете dropbear
: http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/2007q3/000615.html