🙃
Github環境設定「ssh」と「gpg」を設定
ssh接続できるように設定
sshディレクトリを作成
$ cd ~/
$ mkdir .ssh
$ cd ~/.ssh
$ ssh-keygen -t rsa -C y-ydev
$ mkdir github
ディレクトリを作っておくと複数キー情報を管理するときでも管理が楽
$ mv id_rsa id_rsa.pub ./github/
$ cd github
$ cat id_rsa.pub | pbcopy
pbcopyはmacのクリップボードに内容を保存
出力情報をクリップボードに保存したいときに便利
ここまできたら、githubの「SSH and GPG keys」に作成したキー情報を保存
OSS開発で「GPG keys」が登録されていることが求められることがあるので、「gpgの登録」で一緒に登録する
githubに登録したらsshの接続確認を行う
$ ssh -i ~/.ssh/github/id_rsa -T git@github.com
i y-ydev! You've successfully authenticated, but GitHub does not provide shell access.
sshディレクトリに「config」ファイルを作成して「git clone」を利用できるようにする
$ cd ~/.ssh
$ touch config
configに追記する内容
# Github
Host github.com
IdentityFile ~/.ssh/github/id_rsa
User git
#次回以降パスワード入力を省略する
AddKeysToAgent yes
UseKeychain yes
ここまで設定できれば「git clone xxxxxx」でクローンすることができる
gpgの登録
GPGを発行するためのツールをインストールする
$ brew install --cask gpg-suite
キー情報を生成する
gpg --full-generate-key
gpg作成についてgithubに案内があるので、そちらを参考とする
ホームディレクトリ直下に以下のファイルが生成される
$ ~/
$ ls-al | grep gn
rwx------ 14 y-y staff 448 Aug 14 14:28 .gnupg
drwx------ 5 y-y staff 160 Aug 14 14:25 .gnupg_pre_2.1
生成された認証情報を確認しgithubに登録する
step1 鍵のキー情報を確認
$ gpg --list-secret-keys --keyid-format=long
(注 githubのサンプルです)
/Users/hubot/.gnupg/secring.gpg
------------------------------------
sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
uid Hubot <hubot@example.com>
ssb 4096R/4BB6D45482678BE3 2016-03-10
step2 公開鍵の中身を出力
$ gpg --armor --export 3AA5C34371567BD2 | pbcopy
step3 githubのGPG keysに登録する
githubの「SSH and GPG keys」の「GPG keys」に登録する
step4 コミットで自動的に署名されるように設定
$ git config --global commit.gpgsign true
$ git config --global user.signingkey 3AA5C34371567BD2
Discussion