SSHのconfigファイルを分割しよう

以前までのOpenSSHではconfigファイルの分割はできませんでした。

最近のアップデートではIncludeオプションを使うことで読み込みができるようになっています。

configファイルのおさらい

configファイルの場所

SSHのconfigファイルは次の場所にあれば自動的に読み込んでくれます。

~/.ssh/config

configファイルの書き方

基本の形を見てみましょう。

Host kana-linux
  Hostname kana-linux.info
  User kana
  IdentityFile ~/.ssh/id_rsa

configファイルを用意しておくとこれだけで接続ができるようになります。

ssh kana-linux

configファイルを用意していないと、次のように入力しなければなりません。

ssh kana@kana-linux.info -i ~/.ssh/id_rsa

パスワードログインを利用する場合はIdentityFileは不要です。

configファイルを分割しよう

Macユーザーはbrewコマンドでインストール

Mac標準のsshは少し古いので、パッケージ管理ソフトのbrewでOpenSSHをインストールしましょう。

brew install openssh

このままだとMacのsshコマンドが実行されてしまうので、Homebrewのパスに変更しましょう。

下の例ではバージョンが7.4p1ですが、それぞれの環境に合わせてください。

alias "ssh=/usr/local/Cellar/openssh/7.4p1/bin/ssh"

OpenSSHのバージョンが切り替わっているか確認します。

ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k  26 Jan 2017

Includeオプションで読み込む

冒頭に書いた通りですが、最近のOpenSSHでは他のconfigファイルを読み込むことができます。

configファイルの先頭に次のように記述します。

ここではconfig_privateという名前のファイルを読み込んでみます。

Include ~/.ssh/config_private

configファイルあった内容をconfig_privateファイルに移します。

config_private

Host kana-linux
  Hostname kana-linux.info
  User kana
  IdentityFile ~/.ssh/id_rsa

sshコマンドでログインができるか確認してみましょう。

まとめ

たくさんのサーバーを管理するとconfigファイルがカオスになってきます。

特に仕事でもプライベートでもサーバーを触る人であれば、同じ設定ファイルに混じってるのは嫌だと思います。

時間があるときにでも整理してみてはいかがでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です