私の質問はこれと似ていますが、少し違うものを探しています。2つの異なるシナリオでネットワーク上のLinuxマシンにアクセスするために使用するノートブックPCを持っています。
ネットワークに直接、有線で接続しています。
ネットワークに間接的に接続しています。ネットワーク上にインターネットに公開されているゲートウェイマシンがあり、これを使用してネットワーク上のホストへのSSHトンネルを確立できます。これは明らかに、はるかに遅く、待ち時間が長い接続です。
私のホームディレクトリはすべてのマシンからネットワークにアクセスできるため、私ののコピーを共有しています.bashrc
。.bashrc
2つのシナリオのどちらを使用しているかを検出し、それに応じて機能する機能を追加したい(技術的には、3つ目のシナリオがあります。3つ目は、ローカルマシンにログインしているが、簡単に処理できるはずです)。私は次のようなことをしたいと思います:
alias ssh ssh -X
ローカルネットワーク上にいるが、インターネット経由でX転送を使用したくない場合。export EDITOR=gvim
ローカルネットワークにいるexport EDITOR=vim
とき、リモートにいるとき。
等々。前の回答に基づいて、SSH_CLIENT
(存在する場合)の内容を確認し、クライアントIPアドレスがローカルマシンのネットワークアダプターの1つと一致するかどうかを確認することで、このようなことを達成できるはずです。これを実現するためのよりスマートでより堅牢な方法があるかどうかを確認すると思いました。