Вы можете использовать команду ssh LocalCommand для выдачи escape-последовательности ANSI для изменения цвета фона и иметь раздел для каждого хоста (или шаблона хоста), чтобы выбрать соответствующий цвет, который вы хотите соответствовать удаленному хосту.
Если ваши рабочие серверы следуют соглашению об именах, например «начинается с prod», вы можете попробовать следующий фрагмент в файле ~ / .ssh / config:
Host prod*
PermitLocalCommand yes
LocalCommand printf "\x1b[41m\x1b[2JPRODUCTION SYSTEM [%n]\n\n"
Если нет удобного соглашения об именах для использования шаблонов подстановочных знаков, вы можете просто перечислить имена хостов, разделенные пробелами. Вы также можете создавать дополнительные хост-блоки с различными значениями цвета и строками для различных других непроизводственных серверов.
После подключения к хосту, который соответствует шаблону, соответствующий printf будет выполняться локально, изменяя цвет фона на красный ([41m выбирает красный в качестве цвета фона, часть [2J перерисовывает весь экран с обновленным цветом фона. См. https://en.wikipedia.org/wiki/ANSI_escape_code для многих других вариантов)
Самым большим неудобством этого подхода является то, что цвет фона сохраняется при выходе из сеанса ssh; Нет аналога LocalCommand для запуска при разъединении (о чем я знаю). Скрипт псевдонима или оболочки для ssh может вызываться printf "\x1b[0m"
как сброс. С другой стороны, установка цвета фона с помощью LocalCommand означает, что вы получите набор цветов, даже если ssh не запускается через скрипт-оболочку или псевдоним.