🐙
gitlabでの2段階認証設定時における環境の取得方法
gitlabは自分のアカウントで2段階認証の設定をしている場合はgit clone
実行時にユーザー名とパスワードを入力するだけではcloneできない仕様になっている。
以下のどちらかを対応することでgit clone
可能。
アクセストークンの作成
アクセストークンを発行し、git clone時のURLに発行したトークンの情報を入力することでgit cloneが可能となる。
作成方法はこちらを参照。
コマンドは以下のようになる。
git clone http://oauth2:[作成したトークン]@gitlab.com:[gitlabで設定しているポート番号]/[ユーザー名]/[レポジトリ].git
※gitlab.com
は設定するgitlabに応じて適宜変更すること、今回は便宜上gitlab.com
で記述している。
鍵認証設定
鍵認証の設定を行うことでもgit clone
が可能となる。
毎回、URLにトークンの情報を入力する手間が省けるのでこちらを推奨。
まずはクライアント側で鍵の作成と公開鍵を確認
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub
次にgitlabへ公開鍵の登録
登録後、以下のコマンドで接続確認
ssh -T git@gitlab.com -i ~/.ssh/id_rsa -p [ssh用のポート番号]
以下のように表示されれば正しく接続できている。
Welcome to GitLab, @[ユーザー名]!
毎回、鍵情報やポート番号を記入するのは面倒なので、~/.ssh/config
に接続情報を記載する。
~/.ssh/config
Host gitlab
HostName gitlab.com
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
Port [ssh用のポート番号]
以下のコマンドで接続確認
ssh -T git@gitlab
※@
以降の文字列は~/.ssh/config
のホスト名に記載した文字列を参照しているので、そろえる必要がある。
以下のように表示されれば正しく接続できている。
Welcome to GitLab, @[ユーザー名]!
git clone
時は以下のコマンド
git clone http://git@gitlab/[ユーザー名]/[レポジトリ].git
Discussion