คุณสามารถใช้ ssh LocalCommand เพื่อปล่อยลำดับหนี 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 ที่จะเรียกใช้เมื่อตัดการเชื่อมต่อ (ที่ฉันรู้) สคริปต์ alias หรือ shell wrapper สำหรับ ssh สามารถเรียกใช้printf "\x1b[0m"
เป็นการรีเซ็ต ในทางกลับกันการมีชุดสีพื้นหลังผ่าน LocalCommand หมายความว่าคุณจะได้รับชุดสีแม้ว่าจะไม่ได้เรียกใช้ ssh ผ่านสคริปต์แรปเปอร์หรือนามแฝง