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で認証されているみたいです。
手順としては
- パーソナルアクセストークン管理ページからトークン発行
- remote 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/