CI/CDの設定とかは、とりあえず忘れて単純にGithubにSSH経由で接続して、リポジトリをPullするまでの設定
ちなみに以下の環境があり、ローカルでの秘密鍵(id_rsa)と公開鍵(id_rsa.pub)がある前提。
[開発マシン(Mac)] <=> [本番サーバ] <=> [Github]
いろんなサイトを見ると、本番サーバ上に秘密鍵を置くのは危険度Maxということなので
開発マシン上の秘密鍵を用いてGithubにアクセスできる方法の「ssh-agent」という機能を使うことにする。
1)Githubに公開鍵を登録する。
id_rsa.pubの中身をコピーして、以下のサイトで公開鍵を登録するだけ。
Sign in to GitHub · GitHub
「New SSH Key」ボタンを押し、Titleには何のSSH接続のための公開鍵なのか入力し、Keyには公開鍵の中身を貼り付けて登録
ちなみにMac上で公開鍵の中身をコピーするコマンドは以下。
$ pbcopy < ~/.ssh/id_rsa.pub
2)ssh-agentへ秘密鍵の設定
鍵をssh-agentに登録
$ ssh-add -K [鍵の場所]
※「-K」 をつけると電源を落としても消えない。利便性は上がるが、セキュリティ度は下がる。
現在登録されている鍵
$ ssh-add -l
ssh-agentに鍵を登録しておけば、ssh接続時に毎回パスフレーズを入力することも回避できる。
3)ssh-agentに登録した鍵を使ってログイン
通常だと以下のコマンドでOK
$ ssh -A [鍵の名前]
ただ毎回、「-A」を叩くのがめんどくさいので「~/.ssh/config」を以下のように設定する。
$ vi ~/.ssh/config Host prod ... ForwardAgent yes
※prodは(任意のホスト名)
以上の設定を行えば、以下のコマンドだけでssh-agentを有効にし、サーバにログインできる。
$ ssh prod
サーバのコンソールから以下のコマンドを叩けば、Githubと疎通ができることが確認できる
$ ssh -T git@github.com
4)git clone
あとはgit cloneするだけ。
$ git clone git@github.com:hoge/fuga.git
以下が参考にしたサイト
ssh-agentを利用して、安全にSSH認証を行う - Qiita
ssh-agentの使い方 - Qiita
GitHubにssh接続できるようにする - Qiita
Githubに接続できない時の対処法 - Qiita
ssh-add/ふみのて