Macの.ssh/configにいろんな設定が増えてきて管理しずらくなってきたのでファイルを分割しようと考えました。
そうするとIncludeで簡単にできるという情報があり、ChatGPTやGeminiでも同じ回答を得たので実践してみましたが。。。
Includeの設定場所で動く動かないがありめちゃくちゃはまったのでまとめておきます。
実はこれ数回試そうとしたのですがうまくいかず、今日時間を取って徹底的に調べて解決した内容になります。
結論
まずは結論ですが、他のHost設定よりも前にIncludeを記述することを注意するだけです。
configファイルへの設定で有効な設定と無効な設定を以下にまとめます。
有効な設定
Include /path/to/file ←別のHost設定より前に書いておくと反映される
Host example.com
HostName example.com
Port 22
User user_name
IdentityFile /path/to/key
こんな感じでIncludeを複数並べてもOK。
Include /path/to/file
Include /path/to/file
Include /path/to/file
Host example.com
HostName example.com
Port 22
User user_name
IdentityFile /path/to/key
無効な設定
Host example.com
HostName example.com
Port 22
User user_name
IdentityFile /path/to/key
Include /path/to/file ←別のHost設定より後に書いておくと反映されない
残念ながらどういう仕様でこのような挙動になるんかを調べることができませんでした。
あまり時間を使いすぎるわけにも行かないので、後日時間ができたときに調べてみようと思います。