Mi pregunta es similar a esta , pero estoy buscando algo ligeramente diferente. Tengo una PC portátil que uso para acceder a máquinas Linux en una red en dos escenarios diferentes:
Tengo una conexión directa por cable a la red.
Tengo una conexión indirecta a la red. Hay una máquina de puerta de enlace en la red expuesta a Internet, que puedo usar para establecer túneles SSH a los hosts en la red. Obviamente, esta es una conexión mucho más lenta y de mayor latencia.
Mi directorio personal es accesible en red desde todas las máquinas, por lo que comparten una copia de mi .bashrc. Me gustaría agregar funcionalidad para .bashrcdetectar en cuál de los dos escenarios estoy y actuar en consecuencia (técnicamente, habría tres escenarios, donde el tercero es que estoy iniciando sesión en mi máquina local, pero eso debería manejarse fácilmente ) Me gustaría hacer cosas como:
alias ssh ssh -Xcuando estoy en la red local, pero no quiero usar el reenvío X a través de Internet.export EDITOR=gvimcuando estoy en la red local, peroexport EDITOR=vimcuando estoy alejado.
Y así. Según la respuesta anterior, parece que debería poder lograr algo como esto al verificar el contenido de SSH_CLIENT(si existe) y ver si la dirección IP del cliente coincide con uno de los adaptadores de red en mi máquina local. Pensé que vería si hay una manera más ingeniosa o más sólida de lograr esto.
