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 .bashrc
detectar 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 -X
cuando estoy en la red local, pero no quiero usar el reenvío X a través de Internet.export EDITOR=gvim
cuando estoy en la red local, peroexport EDITOR=vim
cuando 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.