1
วิธีการตรวจสอบเมื่อเชลล์เป็นเจ้าของโดยเซสชั่น SSH ระยะไกล?
คำถามของฉันคล้ายกับคำถามนี้แต่ฉันกำลังมองหาบางอย่างที่แตกต่างออกไปเล็กน้อย ฉันมีโน้ตบุ๊คพีซีที่ฉันใช้เพื่อเข้าถึงเครื่อง Linux บนเครือข่ายในสองสถานการณ์ที่แตกต่างกัน: ฉันมีการเชื่อมต่อแบบใช้สายโดยตรงกับเครือข่าย ฉันมีการเชื่อมต่อทางอ้อมกับเครือข่าย มีเครื่องเกตเวย์บนเครือข่ายที่เปิดรับกับอินเทอร์เน็ตซึ่งฉันสามารถใช้เพื่อสร้างอุโมงค์ SSH ไปยังโฮสต์บนเครือข่ายได้ เห็นได้ชัดว่านี่คือการเชื่อมต่อที่ช้ากว่าและมีความหน่วงสูงกว่ามาก .bashrcไดเรกทอรีบ้านของฉันคือเครือข่ายที่สามารถเข้าถึงได้จากทุกเครื่องเพื่อให้พวกเขาแบ่งปันสำเนาของฉัน ฉันต้องการเพิ่มฟังก์ชันการทำงานเพื่อ.bashrcตรวจสอบว่าฉันอยู่ในสถานการณ์ใดในสองสถานการณ์ (โดยทางเทคนิคจะมีสามสถานการณ์โดยที่สามคือที่ฉันเข้าสู่เครื่องท้องถิ่นของฉัน แต่ควรจัดการได้อย่างง่ายดาย ) ฉันต้องการทำสิ่งต่าง ๆ เช่น: alias ssh ssh -X เมื่อฉันอยู่ในเครือข่ายท้องถิ่น แต่ฉันไม่ต้องการใช้การส่งต่อ X ผ่านอินเทอร์เน็ต export EDITOR=gvimเมื่อฉันอยู่ในเครือข่ายท้องถิ่น แต่export EDITOR=vimเมื่อฉันระยะไกล และอื่น ๆ จากคำตอบก่อนหน้าดูเหมือนว่าฉันควรจะสามารถทำสิ่งนี้ได้โดยการตรวจสอบเนื้อหาของSSH_CLIENT(ถ้ามี) และดูว่าที่อยู่ IP ของไคลเอ็นต์ตรงกับหนึ่งในอะแดปเตอร์เครือข่ายในเครื่องท้องถิ่นของฉัน ฉันคิดว่าฉันจะดูว่ามีวิธีที่ไม่มั่นคงหรือมีประสิทธิภาพมากกว่านี้หรือไม่