Как отменить глобальную конфигурацию RemoteCommand на определенном хосте в файле конфигурации ssh

Как отменить глобальную конфигурацию RemoteCommand на определенном хосте в файле конфигурации ssh

У меня есть следующий ~/.ssh/configфайл:

Host myserver1
    Hostname myserver1.blop.com
    User blup

Host myserver2
    Hostname myserver2.blop.com
    User blup

Host bitbucket.org
    RemoteCommand # Want to not take care of global RemoteCommand
    RequestTTY no

Host *
    User root
    RemoteCommand PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"' $SHELL;
    RequestTTY yes

Мне нужно, RemoteCommandчтобы на всех серверах по умолчанию изменялась PROMPT_COMMAND в удаленной оболочке после входа в систему. (Это работает) Опция RemoteCommandсоздания подключений к bitbucket (git) не работает, и я не нашел способа отключить ее RemoteCommandдля определенного хоста.

Пробовал: ничего, пустая строка "",$SHELL;

Есть идеи? Есть ли RemoteCommandзначение по умолчанию для восстановления?

решение1

  1. Использовать noneкак RemoteCommandценность.
Host bitbucket.org
    RemoteCommand none
    RequestTTY no
  1. АнАльтернативный подходпросто исключить bitbucket.org из конфигурации хоста по умолчанию:
Host * !bitbucket.org
    User root
    RemoteCommand PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"' $SHELL;
    RequestTTY yes
  1. Лучшее решение, для моей конкретной проблемы с RemoteCommand, добавьте , Matchчтобы применить настройки только для sshкоманд:

Просто добавьте это в начало файла

Match exec "test $_ = /usr/bin/ssh"
    RemoteCommand PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"' $SHELL;
    RequestTTY yes

Связанный контент