GitHub は HTTPS を推奨
GitHub の公式ドキュメントでは、SSH ではなく HTTPS を推奨しています。
Connecting over HTTPS (recommended) If you clone with HTTPS, you can cache your GitHub password in Git using a credential helper.
どうするか
常時 HTTPS を用いるためには以下の手順を踏みます。
1. トークンを取得する
Settings
-> Developer settings
-> Personal access tokens
からトークンを発行します*1。権限は repo
全てです。
2. トークンを環境変数に設定する
GITHUB_ACCESS_TOKEN
という名前でトークンを環境変数に設定します。例えば以下のようにシェルの設定ファイルに書き込みます。
export GITHUB_ACCESS_TOKEN="1234567890abcdef"
3. git clone する際のプロトコルを HTTPS にし、アドレスにユーザ名を付加する
git clone
する際のプロトコルは HTTPS とします。
デフォルトのアドレスに自分のユーザ名を付加します。付加する場所は github.com
の直前で、付加する内容は username@
です。例えば、ユーザ名が foobar
の場合には、git clone
するアドレスは次のとおりです。
https://foobar@github.com/HOGEHOGE/REPO.git
4. 正しく設定されているか確認する
上記の設定が .git/config
に一度書き込まれれば、トークンが正しく設定されているならば今後はパスワードを求められる場面はないはずです。自身のプライベートリポジトリを対象にして HTTPS で clone して試してみるといいでしょう。
*1:Generate new token