.ssh/configのファイルを分割管理する

最近、管理するサーバが増えてきたこともあり.ssh/configのファイルが肥大化してきた。
分割して管理できないかなあと思い調べてたらやってる人は多かった。

sshが分割したconfigファイルを読む方法が無いからみなさん結合してるんですね。

~/.ssh/conf.d/以下のファイルには、もともとconfigに書いてあったものを分割して配置してるだけです。

~/.ssh
 ├── conf.d
 │   ├── github.conf
 │   ├── hogeserver.conf
 │   └── myserver.conf
 ├── config
 ├── id_rsa
 ├── id_rsa.pub
 ├── known_hosts

あとは.zshrcに下記のfunctionを記述して

function ssh-config-gen () {
  mv ~/.ssh/config ~/.ssh/config.backup
  cat ~/.ssh/conf.d/*.conf > ~/.ssh/config
  echo "generate file ~/.ssh/config"
}

$ ssh-config-gen と入力すれば直前のconfigのバックアップを取って
新たにconfigを生成し直すということができます。

実は~/.ssh/configを分割管理できるpincというコマンドを世に産んだを見てpincもちょっと触ってみましたが、
できることは同じなのでどっちでやっても良いかな

何か他に良い方法があるよとかあれば、ぜひ教えてくださいな。
おしまい。