Переменные среды по неинтерактивному соединению SSH?

В то время как я лично не реализовал его нигде в наших системах, я довольно экстенсивно посмотрел на Gluster. Я знаю несколько человек на некоторых больших сайтах, которые используют это, и это, по-видимому, работает действительно хорошо. Они используют его в производстве для некоторых мощных приложений HPC.

6
задан 4 February 2010 в 10:44
6 ответов

Проверьте Вас/etc/ssh/ssh_config (на клиенте) и посмотрите на опцию SendEnv. В моем случае я имею SendEnv LANG LC_*.

Существует некоторый межотдых informtions в человеке ssh_config

5
ответ дан 3 December 2019 в 00:31
  • 1
    Спасибо за ответ Dom извините мой вопрос wasn' t очень ясный я действительно искал решение на сервере так я don' t должен установить что-то на каждом клиенте. –  ChrisInCambo 4 February 2010 в 10:52
  • 2
    К сожалению, клиент doesn' t отправляют переменные среды, если Вы не говорите это, которые отправить. Если у Вас есть многие клиенты для установки, Вы могли бы рассмотреть использование инструмента для развертывания клиентской конфигурации SSH, такой как марионетка. –  ℝaphink 4 February 2010 в 12:56

Вам определяли переменные окружения в ~/.bashrc на сервере? Иногда чтение somethings ~/.profile вместо этого. Один прием, который я делаю, к символьной ссылке ~/.profile кому: ~/.bashrc,

например:

ln -s ~/.bashrc ~/.profile
0
ответ дан 3 December 2019 в 00:31

мое предположение является Вашими переменными среды, находятся в неправильном файле. существует два различных файла, которые получены для оболочек входа в систему / интерактивных оболочек.

смотрите на это сообщение:
Каково различие между 'Входом в систему' и 'Интерактивной' оболочкой удара

Править: хорошо, теперь для неинтерактивных логинов:
Вы - вход в систему в с ключом? когда да, можно добавить это к Вашему authorized_keys файл:

environment="NAME=value"
         Specifies that the string is to be added to the environment when logging in using this key.  Environment variables set this way override other
         default environment values.  Multiple options of this type are permitted.  Environment processing is disabled by default and is controlled via
         the PermitUserEnvironment option.  This option is automatically disabled if UseLogin is enabled.

(от человека sshd)

0
ответ дан 3 December 2019 в 00:31
  • 1
    I' m заинтересованный неинтерактивными оболочками –  ChrisInCambo 4 February 2010 в 14:46
  • 2
    извините, haven' t читают это. i' ve отредактировал мой ответ соответственно. –  Christian 4 February 2010 в 15:54
  • 3
    Нет это didn' t работают также. –  ChrisInCambo 5 February 2010 в 03:56

Какова оболочка того пользователя на сервере? Если это - удар, то ~/.bash_profile или ~/.profile содержащий все переменные (или что-то как "./etc/environment"), должен работать. Если это не удар, рассмотрите изменение :)

0
ответ дан 3 December 2019 в 00:31

Если Вы имеете контроль над самим вызовом команды ssh, можно попробовать что-то вроде этого:

ssh user@remoteserver MYVAR1="$MYVAR1" MYVAR2="$MYVAR2" command

Я также использую "мишень" (для визуальной ясности) и heredoc для отправки удаленных сценариев удара:

tee << '+++' | ssh user@remoteserver MYVAR1="$MYVAR1" MYVAR2="$MYVAR2" bash
  set -x
  echo "hey, your variable is $MYVAR1"
  echo "and your other variable is $MYVAR2"
+++
1
ответ дан 3 December 2019 в 00:31

@Dom (я не могу оставлять комментарии): для меня это работает / etc / ssh / sshd_config

AcceptEnv LANG LC_*
0
ответ дан 3 December 2019 в 00:31

Теги

Похожие вопросы