Моє запитання схоже на це , але я шукаю щось дещо інше. У мене є ноутбук, який я використовую для доступу до машин Linux у мережі в двох різних сценаріях:
У мене пряме, дротове з'єднання з мережею.
У мене є непряме підключення до мережі. У мережі, що піддається впливу Інтернету, є шлюзова машина, яку я можу використовувати для встановлення тунелів SSH для розміщення хостів у мережі. Це, очевидно, набагато повільніше, з більш високою затримкою зв'язку.
Мій домашній каталог доступний для мережі з усіх машин, тому вони діляться моєю копією .bashrc
. Я хотів би додати функціональність, щоб .bashrc
визначити, який із двох сценаріїв я перебуваю, і діяти відповідно (технічно, було б три сценарії, де третій полягає в тому, що я входжу в свою локальну машину, але це потрібно легко обробляти ). Я хотів би робити такі речі, як:
alias ssh ssh -X
коли я перебуваю в локальній мережі, але не хочу використовувати переадресацію X через Інтернет.export EDITOR=gvim
коли я в локальній мережі, алеexport EDITOR=vim
коли я віддалений.
І так далі. Виходячи з попередньої відповіді, схоже, я повинен мати змогу здійснити щось подібне, перевіривши вміст SSH_CLIENT
(якщо він існує) і побачити, чи відповідає IP-адреса клієнта одному з мережевих адаптерів на моїй локальній машині. Я думав, що побачу, чи є химерний чи більш надійний спосіб досягти цього.