【備忘録】Azure DevOpsからgit cloneする方法(認証エラー対策)

[記事内には広告が含まれています]

こんにちは、現役エンジニアの inno_tech です。

Microsoft の Azure DevOpsからhttpsプロトコルでgit cloneをする際に認証系でエラーが発生しました。
どうやらhttps経由ではパスワード認証が廃止されたようです。

備忘録として、Personal Access Token(PAT)を用いてCloneする手順をまとめました。

本記事は ubuntu20.04LTSの環境で検証しています。

もくじ

Azure DevOpsって?

Microsoft社のサービスの一種で、Azure ReposというサービスでGitHubのようなリポジトリサービスを提供しています。

MicrosoftによるGitHubの買収によって、今現在はGitHub無料プランでPrivateリポジトリを使用できますが、以前は有料でした。

一方、Azure DevOpsでは無料でPrivateリポジトリが利用可能だったため、私の個人開発ではAzure DevOpsを使用していました。

現象 | Azure DevOpsでcloneが失敗

新しいUbuntuからgit cloneしたところ、エラーfatal: Authentication failedとなり、cloneが失敗しました。
別のWindowsPCからはhttpsでcloneに成功しています…。

git clone https://[organization名].visualstudio.com/[Project名]/_git/[リポジトリ名]

# Cloning into '[リポジトリ名]'...
# Username for 'https://xxxxxx.visualstudio.com': [ユーザー名を入力]
# Password for 'https://xxxxxxx@xxxxxxx.visualstudio.com': [パスワードを入力]
# fatal: Authentication failed for 'https://xxxxx.visualstudio.com/[Project名]/_git/[リポジトリ名]/'

解決方法 | Personal Access Tokenを発行する

まず、Azure DevOpsのリポジトリにログインし、Cloneのボタンをクリックします。

Azure DevOps | Cloneボタン
Azure DevOps | Cloneボタン

CloneのURLが表示されます。
このアドレスを使ってgit cloneしても上記のような認証エラーが発生します。

すぐ下に「Generate Git Credentials」というボタンがあるのでこれをクリックします。

Azure DevOps | Generate Git Credentials
Azure DevOps | Generate Git Credentials

ユーザー名とパスワードが表示されます。

Azure DevOps | Personal Access Token
Azure DevOps | Personal Access Token

発行されたユーザー名とパスワードを使って、再度cloneを実行します。
するとcloneが成功するはずです。

git clone https://[organization名].visualstudio.com/[Project名]/_git/[リポジトリ名]

# Cloning into '[リポジトリ名]'...
# Username for 'https://xxxxxx.visualstudio.com': [ユーザー名を入力]
# Password for 'https://xxxxxxx@xxxxxxx.visualstudio.com': [発行されたパスワードを入力]
# Cloneに成功!

ここで発行されたユーザー名とパスワードの組み合わせが、Personal Access Token(PAT)というものです。
User settingを確認すると、PATが発行されていることがわかります。
有効期限付きの一時パスワードを発行することで、セキュリティを高めているイメージです。

Azure DevOps | Personal Access Tokenの一覧
Azure DevOps | Personal Access Tokenの一覧

GitHubでも2021/08/13以降はパスワード認証が廃止されているので、こちらのサービスでも同等な仕様になったのだと思います。

解決方法2 | SSH接続に変更する

PATの生成が面倒だという方は、公開鍵・秘密鍵を用いたSSH接続方式に変更する、という手もあります。

詳しくはこちらの記事でまとめているのでご確認ください。

あわせて読みたい
【初心者向けに説明】Azure DevOpsでSSH接続する設定方法(認証エラー対策) 以前の記事では、Azure DevOpsのgit認証エラー対策としてhttps接続用のPersonal Access Token(PAT)を発行する方法を紹介しました。とはいえ、毎回リポジトリと接続する...

まとめ

  • httpsアクセスする場合は、PAT(Personal Access Token)の発行が必要
  • SSH接続であればPATの発行なしに接続が可能

参考になったでしょうか。

また、プログラミングスキルを向上させたい, 仲間が欲しいという人は、プログラミングスクールを検討してみるのはいかがでしょうか

少しでも興味がある方は、まずは無料のオリエンテーションを受講し、自分に合うかどうかを試してみるのもありだと思います。
まずは一歩行動して、将来の自分に楽をさせてあげましょう。

ほかにも役立つ情報が他のページにもあるかもしれません。
ご覧になるかはあなた次第です!

この記事がイイねと思ったら、Twitterフォロー か  にほんブログ村のどちらかしてくれたら嬉しいよ!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

コメント / ご要望

コメントする

goto
もくじ
閉じる