Webサイト制作コースのお申し込みはこちら

GitHubでは2021年8月13日以降、 Password認証によるGit操作を廃止する対応が取られました。

本記事では、GitHubでPassword認証に変わって利用可能なAccess token認証とSSH接続を利用する方法についてご紹介していきます。

GitHubでAccess token認証を利用してみよう


まずはGitHubでAccess token認証を利用する方法についてご紹介していきます。

Access tokenの取得

Access tokenの発行および取得ですが、GitHubにログインした状態から画面操作で取得していきます。


トップページから右上のユーザーアイコンをクリックし、「Settings」を選択します。


画面を少し下にスクロールして、「Developer settings」を選択します。


「Personal access tokens」を選択し、「Generate new token」ボタンをクリックします。


トークンの設定画面が開きますので「Note」に利用目的、「Expiration」に有効期限、「Select scopes」に対象範囲を設定していきます。

ポテパンダの一言メモ

Select scopesでどれを選べば良いか分からない方はとりあえず「repo」にチェックを付けておきましょう。
これでローカルにクローンするなどのリポジトリ操作が可能となります。


設定が出来たら画面下部にスクロールして「Generate token」ボタンをクリックします。


画面が切り替わりtokenが発行されていることが確認出来ます。

Access token文字列の横にあるアイコンをクリックしてコピーしておきましょう。

ポテパンダの一言メモ

Access token文字列はこの画面でしか確認することが出来ません。
画面を閉じてしまったり切り替えてしまった場合には再度Access tokenを発行する必要があるので注意してください。


「Personal access tokens」を再表示すると、Access tokenが作成されていることは確認出来ますが、Access token文字列を確認することが出来なくなっています。

gitコマンドでアクセストークンを利用する

では実際に取得したAccess tokenを利用してGit操作を試してみましょう。

ローカル上でリポジトリに変更を加えた状態で、git pushコマンドを実行します。

sudo git push origin [ブランチ名]

ユーザー名とパスワードを求められるので、パスワードの入力時に先程発行したAccess tokenを利用します。

$ sudo git push origin
Username for 'https://github.com': [ユーザー名]
Password for 'https://[ユーザー名]@github.com': [Access token] 

pushに成功すると下記のように「completed」の文字が表示されています。

---省略----
remote: Resolving deltas: 100% (1/1), completed with 1 local object.

パスワード認証時のエラー

GitHubでは2021年8月13日よりパスワード認証が利用出来なくなったとご紹介しましたが、どのようなエラー表示となるのかについても確認しておきます。

上記と同じ手順でgit pushコマンドを実行し、パスワード入力の際に従来通りGitHubのログイン時に利用するパスワードを入力します。

$ sudo git push origin
Username for 'https://github.com': [ユーザー名]
Password for 'https://[ユーザー名]@github.com': [ログイン時のパスワード] 
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/ユーザー名/リポジトリ名/'

このようにPassword認証ではなく、Access token認証を実施してくださいとの案内が表示されます。

上述した手順でAccess tokenを発行した上で再度git pushコマンドを実行してみてください。

ポテパンダの一言メモ

Access token認証はHTTPS接続時に利用する方法です。
もう一つの接続方法SSHについては後述する内容をご確認ください。

GitHubにSSH接続してみよう


GitHubではHTTPS接続以外にSSH接続も利用可能です。

こちらの設定方法についても確認しておきましょう。

SSHキーの作成

SSHキーを作成するには「ssh-keygen」コマンドを実行します。

$ ssh-keygen    
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa): 
Created directory '/Users/ユーザー名/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

キーの保存先やパスワードの設定などを行うことが出来ます。

ポテパンダの一言メモ

全て任意項目となっているため、Enterでデフォルト状態で進めることも可能です。

SSHキーの追加

次に作成したSSHキーをGitHub上に追加する必要があります。


Access tokenの場合と同じようにGitHubにログインした状態からユーザーアイコンをクリックし、「Settings」を選択します。


「SSH and GPG keys」のカテゴリを選択し、「New SSH key」ボタンをクリックします。


title項目にはSSHキーを判断しやすい名称、key項目には先程ローカルで生成したkeyの内容を貼り付けます。

ポテパンダの一言メモ

ローカルでの作成時全てデフォルトでEnterを押した場合は「/Users/ユーザー名/.ssh」に格納されている「id_rsa.pub」の内容を貼り付けます。


追加出来ていれば画像のようにSSHキーの情報が表示されるようになります。

接続確認

ではSSHキーの作成とGitHubへの追加が完了したので、接続確認を実施してみましょう。

ssh -T git@github.com  

コマンドを実行して自分のユーザー名が表示されれば成功です。

Hi [ユーザー名]! You've successfully authenticated

さいごに: GitHubへの接続にAccess token認証を試してみよう


本記事では、GitHubのPassword認証が廃止になったことを受けて、HTTPS接続でのAccess token認証の方法およびSSH接続の方法についてご紹介してきました。

しばらくGitHubに触れていなかった方の中には、突然GitHubへの接続が出来なくなって困惑した方も多いのではないでしょうか。

ブラウザからGitHubのアカウントにログイン出来るのであれば、今回ご紹介したAccess token認証またはSSH接続に切り替えてGitHubへの接続を試してみてください。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。