アプリケーション開発ポータルサイト
ServerNote.NET
ServerNote.NET厳選キャンペーン・クーポンはこちら!
カテゴリー【Git/GitHubDebian
GitLab.comのプライベートリポジトリをhttpsでclone/pushする方法
POSTED BY
2022-09-28

GitLabはローカルにインストールするパッケージのみならず、GitHubのようにグローバルに利用できるGitLab.comというサイトサービスも存在する。
GitHubと同様パブリック・プライベート両方のリポジトリを作成でき、プロジェクト単位で管理するのでBTSとしても利用するならGitHubより優れている。

ユーザー名・パスワードを登録してSSHの公開鍵を登録してSSHでgit cloneできるのなら特に問題なくGitHubの時と同様
しかし、社内ファイアウォール内部のマシンからだとSSHが使えない場合があるので、HTTPS経由でクローン・編集することになるのだが、ユーザー名・パスワードでやろうとすると以下のように言われてエラーになる。

git clone https://gitlab.com/my-test-project/example.git
Cloning into 'example'...
Username for 'https://gitlab.com': hogeuser
Password for 'https://hogeuser@gitlab.com':
remote: HTTP Basic: Access denied
remote: You must use a personal access token with 'read_repository' or 'write_repository' scope for Git over HTTP.
remote: You can generate one at https://gitlab.com/profile/personal_access_tokens
fatal: Authentication failed for 'https://gitlab.com/my-test-project/example.git/'

つまりアクセストークンを使いなさいと言われているので、メッセージの通り、

https://gitlab.com/profile/personal_access_tokens

にアクセスし、Nameトークン名を入力(例:my-token)、Expires at有効期限はひとまず未入力(無期限)、Scopesにread_repository、write_repositoryのチェックを入れ、Create personal access tokenで作成。

するとYour new personal access tokenにアクセストークン文字列が表示されるので、これを以下のようにコマンドに埋め込む。

git clone https://oauth2:アクセストークン文字列@gitlab.com/プロジェクト名/リポジトリ名.git

今回の例だと以下の様に実行。

git clone https://oauth2:AAAABBBBCCCCDDDDEEEE@gitlab.com/my-test-project/example.git
Cloning into 'example'...
remote: Enumerating objects: 445, done.
remote: Counting objects: 100% (445/445), done.
remote: Compressing objects: 100% (410/410), done.
remote: Total 445 (delta 57), reused 386 (delta 30), pack-reused 0
Receiving objects: 100% (445/445), 1.71 MiB | 5.88 MiB/s, done.
Resolving deltas: 100% (57/57), done.

無事にhttpsでクローンできた。read,writeに設定しているので編集、commit/pushも可能となる。
しかし、ユーザー名もパスワードも聞かれずこの短いトークン文字列のみでプライベートリポジトリを取得できてしまうというのは、セキュリティ的に大丈夫なのだろうか???

「ポイ活」するなら業界最強のポイント還元率でお小遣いが稼げる【i2iポイント】!
・アフィリエイター様向け55万人以上の会員が利用するポイントサイトです。ショッピングやサービス利用、無...READ MORE
髪質改善・美髪ケア【ミネコラ パーフェクト3】雑誌多数掲載!
ミネコラは、《水素》で髪が蘇る究極のエイジングヘアケア。 「ミネコラ パーフェクト3」は水素サロンケア...READ MORE
ラジオで大反響!全国店舗の飲食店使用!熊本馬刺【熊本馬刺しドットコム】
当店のこだわりは、作り置きを一切しないで、お客さまからご注文をいただいてから加工に入ります。 新鮮でさ...READ MORE
※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【webmaster/管理人】
自営業プログラマー
ご連絡は以下アドレスまで★

☆ServerNote.NETショッピング↓
ShoppingNote
☆お仲間ブログ↓
一人社長の不動産業務日誌
【キーワード検索】