地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【Git】git cloneで鍵を使い回す話

sshの公開鍵認証では秘密鍵と公開鍵のセットがサーバにあればよくて基本的には使い回しが可能。

例えばサーバAで作った鍵はサーバBへ公開鍵と秘密鍵をコピーすれば使用することが可能。

これを使ってサーバC/サーバDなんかでプライベートリポジトリのgit cloneを自動で行う設定が可能になる。

この時仮に複数ホストのgitサーバがある場合は以下のようにsshのconfigを書くと良い

Host deploy1
  Hostname github.com
  User git
  IdentityFile ~/.ssh/deploy1_key

Host deploy2
  Hostname github.com
  User git
  IdentityFile ~/.ssh/deploy2_key

上記のように~/.ssh/configを書いたらあとはgit cloneのコマンドでhostsを指定するようにすれば良い

$ git clone deploy2:ryuichi1208/plever.git

OpenSSHのリモートサーバへのyes/noを消すならStrictHostKeyChecking noとかしておけば良い。

自動化するならまずは鍵の配布 -> ssh_configの配布 -> clone的な流れを行うだけでうまいこといくはず

docs.ansible.com