Mit dem Befehl ssh LocalCommand können Sie die ANSI-Escape-Sequenz ausgeben, um die Hintergrundfarbe zu ändern, und einen Abschnitt pro Host (oder Hostmuster) festlegen, um die entsprechende Farbe auszuwählen, die dem Remote-Host entsprechen soll.
Wenn Ihre Produktionsserver einer Namenskonvention wie "Startet mit Produkt" folgen, können Sie das folgende Snippet in Ihrer ~ / .ssh / config-Datei ausprobieren:
Host prod*
PermitLocalCommand yes
LocalCommand printf "\x1b[41m\x1b[2JPRODUCTION SYSTEM [%n]\n\n"
Wenn es keine praktische Namenskonvention gibt, um Platzhaltermuster zu verwenden, können Sie einfach die durch Leerzeichen getrennten Hostnamen auflisten. Sie können zusätzliche Hostblöcke mit unterschiedlichen Farbwerten und Zeichenfolgen auch für verschiedene andere Nichtproduktionsserver erstellen.
Nach dem Herstellen einer Verbindung zu einem Host, der dem Muster entspricht, wird der entsprechende Druck lokal ausgeführt und die Hintergrundfarbe in Rot geändert (der [41m wählt Rot als Hintergrundfarbe, der [2J-Teil malt den gesamten Bildschirm mit der aktualisierten Hintergrundfarbe neu) https://en.wikipedia.org/wiki/ANSI_escape_code für viele weitere Optionen)
Das größte Ärgernis bei diesem Ansatz ist, dass die Hintergrundfarbe beim Verlassen der SSH-Sitzung bestehen bleibt. Es gibt kein Gegenstück zu LocalCommand, das beim Trennen ausgeführt werden kann (das ist mir bekannt). Ein Alias- oder Shell-Wrapper-Skript für ssh kann printf "\x1b[0m"
als Reset aufgerufen werden. Wenn Sie jedoch die Hintergrundfarbe über LocalCommand festlegen, erhalten Sie die Farbe auch dann, wenn ssh nicht über ein Wrapper-Skript oder einen Alias ausgeführt wird.
ls
Alias habenls --color=auto
und die Reset-Sequenz '<ESC> [0m' enthält. Um dies jedoch beizubehalten, müssten Sie wahrscheinlich verschiedene Gnome-Terminal-Profilegnome-terminal --profile=$PROFILE_NAME -e ssh $HOST &
ls --colour
ODER die Rücksetzsequenz in PS1 habe, überschreibt entweder eine allein die vorherigen Ansi-Farbeinstellungen. Ich werde mich also mit der Implementierung Ihrer vorgeschlagenen Wrapper-Skriptlösung befassen, was ebenfalls eine hervorragende Idee ist! Merci Beaucoup!