gitlab & httpsでpersonal access tokenを使う

WindowsからUbuntuに開発環境をごっそり移行しました。
gitlabとはsshでgit操作していたのですが、いちいちパスワード入力を求められるので面倒です。

gitlab に新プロジェクトを push できなくて困った話(https 編)でhttpsにしようとしたのですが、

root ➜ /app (master ✗) $ git push https
fatal: could not read Password for 'https://yoshida.nekoha@gitlab.com': terminal prompts disabled

となり、エラーとなります。
どうやらターミナルでプロンプトが無効にされているのでパスワードが入力できない様子・・・

パーソナルアクセストークンを使おう

gitlabではパーソナルアクセストークンという仕組みがあり、一度発行すればURLの中に入れ込んで認証を通してくれるというもの。
OAuth2で認証されているみたいです。

手順としては

これだけで使えるようになります。

パーソナルアクセストークン管理ページからトークン発行

パーソナルアクセストークン管理ページからトークン発行します。
Token name(トークン名)、有効期限を入力し、Select scopesで操作権限をチェックします。
有効期限を気にするのが面倒なので 3000-12-31を入力したら通りました。
期限を長くしていても、不要になったらいつでもこのページから無効化することができます。

トークンを発行すると、Your new personal access tokenのフィールドにトークンが表示されます。
これはページを閉じてしまうと二度とアクセスできないので、コピーしておきます。

remote urlに設定する

通常の https のリポジトリURLにアクセストークンを加えます。書式は

oauth2:<アクセストークン>

のようになります。
git cloneするなら

git clone https://oauth2:<アクセストークン>@gitlab.com/yoshida.nekoha/my-project.git

のようにすれば良いです。
認証済みトークンなので、パスワードは不要になります!

参考サイト

ひとくちGitLab ~GitLabのTokenについて~ / INS!GHT TECHNOLOGY
https://www.insight-tec.com/tech-blog/20210705_gitlab/

Subscribe to 猫好きが猫以外のことも書く

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe