Android StudioとGitHubの連携
いつも忘れるのでメモ。
認証について
GitHubで使用できる認証方式は2つある。
- HTTPSでユーザ名とパスワードを用いたユーザ認証
- SSHで公開鍵を用いたサーバ認証
今回は2
のSSHを使用する。
SSHを使用するには初期設定が必要だが、それ以降はコマンドライン上では認証のための入力が不要になり、GitHubに接続するための手間が軽減できる。
また、HTTPSと比較すると、データ転送を効率的に速く行うことができる。
SSH Keyの作成
以下のコマンドを入力してSSH Keyを作成する。
ssh-keygen -t rsa -b 4096 -C "adress@mail.com"
enterを押すと格納パスが表示されて鍵が生成される。
_pub付きの方(/Users/name/.ssh/id_rsa.pub
)が公開鍵。その後、パスフレーズの入力を2回求められるので任意のものを登録する。
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/name/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
GitHubに公開鍵を登録するには、一旦テキストとしてコピーする必要がある。
以下のコマンドでクリップボードにコピーする。
# Mac
pbcopy < /Users/name/.ssh/id_rsa.pub
ブラウザでGitHubを開いて設定を行う。
Setting > SSH and GPG keys > New SSH key
TitleとKeyを入力する。Keyはさきほどコピーした公開鍵を貼り付ける。Titleは何でも良さそう。
以上で設定完了。
接続の確認
Android StudioのTerminalから以下を入力してSSH接続を行う。
ssh -T git@github.com
Are you sure you want to continue connecting (yes/no)?
と聞かれるのでyes
設定したパスフレーズを入力すると接続が確立される。
Hi yourname! You've successfully authenticated, but GitHub does not provide shell access.
GitHubアカウントが複数ある場合
Preference > Version Control > GitHub
でアカウントの管理が可能。
追加する場合は+
ボタンを押して認証方法を選択する。
Tokenを使用する場合はGenerate…
を押して(下記が開く)Tokenを作成する。
GitHub > Setting > Developer setting > personal access tokens
Personal access tokens
Discussion