1

Я пытаюсь вызвать следующую команду после "ssh somehost":export PROMPT_COMMAND='echo -ne "\033]0;$HOSTNAME\007"'

ничего не работает, есть предложения?

1 ответ1

0

Я не думаю, что это можно сделать.

Прежде всего я должен был переписать вашу команду; хотя это аннулируется тем фактом (см. далее), что то, что вы хотите получить, не может быть достигнуто, тем не менее, способ сделать это представляет некоторый интерес и общность, поэтому я буду обсуждать это. Я должен был изменить вашу команду на

  ssh me@remote 'COLOR=("echo" "-ne" "\"\\033[48;5;95;38;5;214m\$HOSTNAME\033[0m\""); export PROMPT_COMMAND=${COLOR[@]}'

Причина в том, что необходимо запретить локальной оболочке подставлять $HOSTANME его local значение, поэтому то, что мы передаем на удаленный сервер, должно быть заключено в одинарные кавычки ». Для этого , чтобы работать, не должно быть никаких одинарные кавычки внутри команды , чтобы пройти, так что мне пришлось переписать его таким образом , что одинарные кавычки появляются в его команды будет выполняться удаленно. Мне удалось сделать это с массивом, COLOR . Команда

COLOR=("echo" "-ne" "\"\\033[48;5;95;38;5;214m\$HOSTNAME\033[0m\"") export PROMPT_COMMAND=${COLOR[@]}  

локально работает нормально (выбор цветов мой).

Существует два способа экспорта переменных среды через ssh. Во-первых, можно изменить переменную AcceptEnv в /etc/ssh/sshd_config сервера, но в руководстве указано

AcceptEnv

Определяет , какие переменные окружения , отправленный клиент будет скопированы в окруж сессии.

Акцент здесь делается на сессии: никаких глобальных изменений.

Второй способ - через переменную PermitUserEnvironment :

PermitUserEnvironment

Specifies whether ~/.ssh/environment and environment= options in
 ~/.ssh/authorized_keys are processed by sshd.  The default is
 "no".  Enabling environment processing may enable users to bypass
 access restrictions in some configurations using mechanisms such
 as LD_PRELOAD.

Как видите, ssh очень осторожен, не позволяя удаленному пользователю изменять глобальные переменные среды.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .