rsync over sshでコンテンツを配布するときなどsshの鍵交換をするときに便利なMakefile

rsync over sshなどで、フロントエンドのサーバーにコンテンツを配布するときなどに、パスフレーズなしのSSH公開鍵を配布するのは意外と面倒なものです。そこで、配布に便利なMakefileを紹介します。

HOST=127.0.0.1 
KEY=~/.ssh/id_dsa
keygen:
	ssh-keygen -t rsa -N "" -f $(KEY)
dist:
	ssh $(HOST) 'mkdir -p ~/.ssh'
	cat $(KEY).pub|ssh $(HOST) 'cat >> ~/.ssh/authorized_keys'
clean:
	rm -f $(KEY)*

使い方

  • SSHキーの作成
make keygen
  • SSHキーの配布
make dist HOST=xxx.xxx.xxx.xxx # 対象ホスト
  • SSHキーの削除
make clean