Open1
SSH Matchを使って現在のネットワークによって踏み台を経由するかどうかを切り替えて同じホスト名を使う
結論
現在いるネットワークがexample.com
でないときのみ踏み台を経由したい場合の例。
ssh_config
Host hogehoge
HostName xxx.xxx.xxx.xxx
# 踏み台
Host bastion
HostName xxx.xxx.xxx.xxx
Match originalhost hogehoge exec "curl -s ipinfo.io/hostname | grep -qFv example.com"
ProxyJump bastion
補足
- ホスト名のエイリアスが
hogehoge
で以下のコマンドの終了ステータスが0のときにProxyJump
を適用-
curl
でipinfo.io/hostnameを叩いてホスト名を取得する-
-s
で進捗を表示しない
-
-
grep
でホスト名を確認-
-q
で標準出力しない -
-F
で固定文字列を検索 -
-v
で除外条件を指定
-
-