今更ですがSSHのconfigファイルが肥大してきたので、分割してGitで管理するようにしました。
SSHのバージョンが7.3以上であれば Include
が使えるようです。
自分のSSHのバージョンは7.4になります。
bash
% ssh -V
OpenSSH_7.4p1, LibreSSL 2.5.0
仕事用やプライベート用に分割して、設定ファイルGitにアップし違う環境でも使い回しができるようにしておきます。
フォルダ・ファイル構成
.sshの中のinclude_confが分割させた構成になります。
include_confを自分のプライベートのGitにアップして管理させています。
- ~/.ssh
- config
- include_conf/
- .git/
// include_conf配下をGitに設定
- personal/
- git/
- config
- server/
- config
- git/
- work/
- git/
- config
- git/
- .git/
Includeの使い方とは?
~/.ssh/直下のconfigファイルに、ファイルを指定することを読み込むことが可能のようです。
ワイルドカードが使えるので、そのディレクトリ配下という設定も可能です。
私の環境では、include_conf配下にワイルドカードを指定して使うようしました。
Include_conf設定後、gitを登録してアップすることで、他の端末からでもcloneして使うことができます。
bash
# =======================================
# Config Include
# =======================================
Include ~/.ssh/include_conf/**/**/*
別の環境でセットアップしてみる
リモート先のGitからcloneして、別の環境にセットアップする方法になります。
bash
cd ~/.ssh/
git clone [email protected]:redamoon/include_conf
cloneが終わったら、自分自身のconfigにIncludeの記述パスを入力して完了になります。
ファイルが肥大したり見通しが悪くなるの避けることができ、さらにGitで管理することでスムーズに同環境を作ることが可能ですね。