La mia domanda è simile a questa , ma sto cercando qualcosa di leggermente diverso. Ho un PC notebook che utilizzo per accedere a macchine Linux su una rete in due diversi scenari:
Ho una connessione diretta, cablata alla rete.
Ho una connessione indiretta alla rete. C'è una macchina gateway sulla rete esposta a Internet, che posso usare per stabilire tunnel SSH per gli host sulla rete. Questa è ovviamente una connessione molto più lenta, a latenza più elevata.
La mia home directory è accessibile in rete da tutte le macchine, quindi condividono una mia copia .bashrc
. Vorrei aggiungere funzionalità per .bashrc
rilevare in quale dei due scenari mi trovo e agire di conseguenza (tecnicamente, ci sarebbero tre scenari, in cui il terzo è che sto accedendo al mio computer locale, ma che dovrebbe essere facilmente gestito ). Vorrei fare cose come:
alias ssh ssh -X
quando sono sulla rete locale, ma non voglio usare l'inoltro X su Internet.export EDITOR=gvim
quando sono sulla rete locale, maexport EDITOR=vim
quando sono remoto.
E così via. Sulla base della risposta precedente, sembra che dovrei essere in grado di realizzare qualcosa del genere controllando il contenuto di SSH_CLIENT
(se esiste) e vedendo se l'indirizzo IP del client corrisponde a uno degli adattatori di rete sul mio computer locale. Ho pensato di vedere se esiste un modo più efficace o più efficace per farlo.