~/.ssh/configをプロジェクト毎に別ける方法

~/.ssh/configをプロジェクト毎に別ける方法の紹介です。

ssh_img

Mac-pcを使用している方で、サーバへSSHやSCP接続するのに、~/.ssh/configに接続情報を記述していると、簡単にSSHやSCP接続ができます。

しかし、サーバ台数が多くなってきたり、担当する案件が増えてくると、1ファイルに全てを記述していくと、膨大な行数となってしまい、名前を忘れた時など、探すのが面倒ですね。

そんな時、以下の方法で、プロジェクト毎にファイルを別けて管理することができます。

① ~/.bashrcファイルに以下を追記します
alias ssh="cat ~/.ssh/conf.d/*.conf > ~/.ssh/config; ssh"
alias scp="cat ~/.ssh/conf.d/*.conf > ~/.ssh/config; scp"
② プロジェクト毎のファイルを置くディレクトリを作成します
mkdir -p ~/.ssh/conf.d/
③ ~/.ssh/conf.d/配下へ各プロジェクト毎に別けたconfigファイルを置きます
$ ls -l
-rw-r--r--  1 xxxxx  xxxxx  0  3  8 20:30 project_name01.conf
-rw-r--r--  1 xxxxx  xxxxx  0  3  8 20:30 project_name02.conf
-rw-r--r--  1 xxxxx  xxxxx  0  3  8 20:30 project_name03.conf
例:project_name01.confの中身
HOST webpencil
HostName xxx.xxx.xxx.xxx
User testuser01
IdentityFile "/Users/arai/work/key/project_name01.pem"
IdentitiesOnly yes

接続方法の例

# SSH接続例
$ ssh webpencil

# SCP ファイル転送例
$ scp /Users/tarai/work/index.html webpencil:/home/user01/

お試しください! 😉