Minha pergunta é semelhante a esta , mas estou procurando algo um pouco diferente. Eu tenho um notebook que uso para acessar máquinas Linux em uma rede em dois cenários diferentes:
Eu tenho uma conexão direta com fio à rede.
Eu tenho uma conexão indireta com a rede. Há uma máquina de gateway na rede exposta à Internet, que eu posso usar para estabelecer túneis SSH para hosts na rede. Essa é obviamente uma conexão muito mais lenta e com maior latência.
Meu diretório pessoal é acessível em rede a partir de todas as máquinas, então eles compartilham uma cópia do meu .bashrc
. Gostaria de adicionar funcionalidade para .bashrc
detectar em qual dos dois cenários eu estou e agir de acordo (tecnicamente, haveria três cenários, onde o terceiro é que eu estou logando na minha máquina local, mas isso deve ser facilmente manipulado ) Eu gostaria de fazer coisas como:
alias ssh ssh -X
quando estou na rede local, mas não quero usar o encaminhamento do X pela Internet.export EDITOR=gvim
quando estou na rede local, masexport EDITOR=vim
quando estou remoto.
E assim por diante. Com base na resposta anterior, parece que devo conseguir algo assim, verificando o conteúdo SSH_CLIENT
(se existir) e verificando se o endereço IP do cliente corresponde a um dos adaptadores de rede na minha máquina local. Eu pensei que veria se existe uma maneira mais sólida ou mais robusta de fazer isso.