macOS のネットワーク環境を使って ssh_config の設定を変更する

macOS のネットワーク設定には「ネットワーク環境」というネットワーク設定をプリセットできる機能があります。
Mac でネットワーク環境を使う方法

職場ではプロキシサーバの設定を行うために使っているのですが、ssh コマンドでもこの設定を反映するよう ssh_config を設定してみました。

実際の設定例

百聞は一見にしかず、実際の設定はこんな感じです。

Host internal
    HostName        192.168.0.10
    ProxyCommand    none

Match exec "networksetup -getcurrentlocation | grep -q 'Office'"
    ProxyCommand    /usr/bin/nc -X 4 -x 192.168.0.100:1080 %h %p

ここでは Office という名前のネットワーク環境名のときに、192.168.0.100 の SOCKS プロキシを使用します。
プロキシを使用したくないサーバ(ここでは192.168.0.10)については ProxyCommand none を設定してあげる必要があります。

地味ですが便利になりました。

technical

Posted by yokky