Git
PR

【GitHub】パスワード認証廃止を今更知ったので対応した話

GitHub_パスワード認証廃止
コル
記事内に商品プロモーションを含む場合があります

こんにちは、コル(@bravecol)です。

Git操作でupstream取り込みを忘れそうなので
記事の執筆を兼ねてGithubを久々に稼働させようとしたところ

コル
コル

いつの間にか認証要件が変わっている!!!

となったので対応してみました。

スポンサーリンク

githubのパスワード認証のサポートが終了したことを知る

今まで通りgit cloneすると

$ git clone https://github.com/username/reposname.git
Cloning into 'reposname'...
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/username/reposname.git/'

「2021年8月13日にパスワード認証サポートは終了したよ。パーソナルアクセストークン使ってね。もうちょい知りたかったらgithubのブログ見てね」とメッセージにあるのでちょいと閲覧してみました。

すると影響を受けるワークフローとしてめちゃ書いてありました。。。

Workflows affected

  • Command line Git access
  • Desktop applications using Git (GitHub Desktop is unaffected)
  • Any apps/services that access Git repositories on GitHub.com directly using your password

Token authentication requirements for Git operations

パスワード使ったGitHubへのアクセスって最後に明記してますね。。いつの間にか変わっていたらしい。
GithubはPublicもPrivateも無制限で持てて、引き続き僕は使いそうなので一応対応していきます。

対応

調べてみるとGitHub公式から対応する場合の認証方法をご紹介してくれてました。
GitHub への認証方法について

今回は簡単さを重視して「SSH認証」ではなく下記の「HTTPS認証」で行きます。

GitHub CLI で認証する場合は、personal access token または Web ブラウザーを使って認証できます。 GitHub CLI を使用した認証の詳細については、「gh auth login」を参照してください。

GitHub CLI なしで認証する場合は、personal access token で認証する必要があります。 Git からパスワードの入力するダイアログが表示されたら、personal access token を入力します。 または、Git Credential Manager などの認証情報ヘルパーを使用できます。 より安全な認証方法を優先し、Git のパスワードベースの認証が削除されました。 詳しくは、「個人用アクセス トークンを管理する」を参照してください。 Git を使って GitHub で認証するたびに、資格情報ヘルパーでキャッシュしない限り、GitHub で認証するための資格情報を入力するように求められます。

GitHub への認証方法について

上記によるとHTTPS認証はGithub CLIを用いる方法を用いない方法があるそうですが今回は用いない方法で実施します。

アクセストークンの作成

順番にやっていきます。全体的な手法はGithub公式の「個人アクセストークンを使用する」をご覧ください。

まずはGitHubのアカウントでSettings→Developer settingsと進み「Personal access tokens」のタブへ移動します。

githubのメール認証

Generate new tokenより新しいトークンを作成する

githubの認証2

トークンの名前と有効期限を設定しましょう。無期限もできますけど当然推奨はされません。

githubの認証3

次にトークンの権限設定です。コマンドからcloneなどしたい場合はrepoにチェックを入れましょう。

githubの認証4

最後にGenerate tokenを選択してトークン完成です。
注意点ですが、この次にトークンをコピーできる画面が表示されます。
そのトークンを忘れないようにメモしておきましょう。
僕は一回やらかしました^^;

githubの認証5

HTTPSでCloneする

あとはHTTPSでCloneした際にPassword欄に先ほどのトークンを入れればClone完了です。

$ git clone https://github.com/username/repo.git
Username:
Password:

まとめ

以上、Githubのパスワード認証削除に対する対応例の一つです。
他にもSAML認証のシングルサインオンとかSSHでやる方法とかあるみたいです。

何はともあれ普段から使ってればいきなりこうはならないので、ぼちぼち趣味でも開発しようと思います。

多分、トークンの有効期限切れになったタイミングで僕はこの記事を見ることになるんだろうなぁと予測してます^^

同じことでお困りの方の助けになれば幸いです。ご一読ありがとうございました。

スポンサーリンク
運営者
コル
コル
技術探検家 / 子育て忍者
ウェディングプランナーからエンジニアへ異業種転職し、家族と田舎のとある村でリモートワークメインで生活中。今はフリーランスエンジニアとしてJava/Python/Go/Reactなどが経験多め。子育てとコーディングを巧みに両立する「忍者スタイル」でスローライフと気になる技術を日々探求中!たまに妻から「ボヤッキーみたい」と笑われながらも、技術やガジェット関連をテーマにブログを更新しています。
記事URLをコピーしました