GitHub 最初の git push でつまづいた人必見!Access Token 認証方法を紹介!

GitHub 最初の git push でつまづいた人必見!Access Token 認証方法を紹介!

こんにちは、株式会社キカガクで講師をしている蓮です。今回は GitHub を使いはじめて最初の git push でつまづいた方に対処法を紹介します。

2021 年 8 月 13 日まではパスワードを入力することで Git 操作をすることができました。しかし、その認証は廃止されてしまいました。
「よし、ローカル PC でアプリケーションやコードを実装した。GitHub で公開してみよう!」

「あれ? GitHub のコマンド手順どおりに実行したけど、git push コマンドでエラーが出た?」

そんな方へ、ローカル PC で作成したファイルを GitHub へ公開するための簡単な手順を紹介します。

最初の GitHub への git push コマンドで躓いてしまった方への記事です。

この記事では GitHub でリポジトリを作成するところから、コードを公開するまでの最短距離(SSH 版)を紹介します!
GitHub アカウント登録から、コードを公開するまで一緒に進めていきます。

GitHub アカウントを作成



STEP1 :まずは GitHub のアカウントを作成します。アカウント作成手順は以下のようなイメージで行います。


STEP2 :ユーザー名やメールアドレスなどの登録画面です。


STEP3 :登録完了前に確認コードを入力します。


登録完了すると以下のような画面に遷移します。


GitHub で新規リポジトリを作成

ここで作成する GitHub のリポジトリとは、作成したファイルやディレクトリの構成・状態を保存・記録しておく「場所」のようなイメージをしていただくといいかと思います。
あとから登録できるものは省略して、サクッとコードを公開する手順を進めます。

まずはコードを公開するために新しくリポジトリを作成します。
先程の画像の左側、「Create repository ボタン」から作成開始です。必要な情報を入力してリポジトリ作成できます。


リポジトリの作成が完了すると Quick setup が表示されます。

「SSH」を選択し、「… or crate a new repository on the command line」に表示されているコマンドを実行していきます。


手元の PC のターミナルで Git コマンドを使用、コードを公開

ここからは、ターミナルまたはコマンドプロンプトなどを使用して、コマンドを実行していきます。すでにアプリケーションなどを作成した状態を想定します。

私は、hello-world フォルダapp.py を例にコードを公開します。
Quick setup から最小限必要なコマンドを使用します(一部変更あり)。

以下が実行したコマンドです。入力を求められた部分は yes を入力します。

$ git init 
$ git add . 
$ git commit -m "first commit"
$ git branch -M main
$ git remote add origin [email protected]: <ユーザー名(画面黒塗り)>/hello-world
$ git push -u origin main

実際に私が操作したターミナルのキャプチャです。


Permission denied(publickey)が表示されています。

これは、GitHub のサーバーが公開鍵を要求しているのですが、ユーザーが認証に使用する公開鍵(publickey)を送信できなかったときに発生するエラーです。

この問題を解決する一つの手段として、「SSH 接続」するための手順を紹介します。

SSH キーを生成、コピー

ここからは、上記のエラーを解決するためにユーザー側で公開鍵(publickey)を生成します。
手元の PC でコマンドを利用して SSH キーを生成します。

以下の 2 つの方法を紹介していきます。
おすすめは最短で生成できる、「2」のコマンド実行です。

  1. 確認用コマンド付き SSH キー生成コマンド
  2. 最短 SSH キー生成コマンド

1. 確認用コマンド付き SSH キー生成コマンドの紹介

ここでは、SSH キーの作成・イメージを持っていただければ OK です!

実行する確認用コマンド
$ cd ~/.ssh
$ ls
$ ssh-keygen -t rsa
$ ls
$ pbcopy < ~/.ssh/id_rsa.pub
cd ~/.sshSSH キーを生成するディレクトリへ移動
lsSSH キーを生成するディレクトリのファイル一覧を表示
ssh-keygen -t rsaSSH 接続のために必要な公開鍵・秘密鍵を生成
Enter → パスワードを設定→再度パスワード入力、の操作をする
パスワードは今後、 git push コマンドを実行する際に使用するため、記憶できるものを設定すること
ls生成された SSH キー(公開鍵:id_rsa.pub、秘密鍵:id_rsa)が生成されたことを確認
pbcopy < ~/.ssh/id_rsa.pubid_rsa.pub の中身をクリップボードに全部コピー
※ マウスでテキストを範囲指定して、コピーをしたような状態

確認用コマンドを実行したときのキャプチャです。

「2」で紹介するコマンドを実行したときも同じような情報を確認することができます。


2. 最短 SSH キー生成コマンドの紹介

ターミナルのどのディレクトリの位置でも実行できます。

git push コマンドを実行したあとに、続けて実行しても問題ありません。

私は今回、紹介のために別々のターミナルで実行しています。

2. 実行するコマンド
$ ssh-keygen -t rsa
$ pbcopy < ~/.ssh/id_rsa.pub
生成した SSH キーを GitHub へ登録するためのポイント

pbcopy コマンドを実行すると、GitHub に登録する情報をコピーした状態になります。

他のテキストなどをコピして上書きをした場合は、再度 pbcopy コマンドを実行してください。

SSH キーの内容が知りたい場合は、テキストエディタなどに貼り付けをすると確認することが出来ます。

SSH キーの内容は大切なものなので、公開はせずに個人で管理しましょう。


GitHub に生成した SSH キーを登録

今度は、GitHub のページで操作をしていきます。
画面右上の GitHub アイコンをクリックし、「Settings」から登録をします。


Settings をクリックすると以下のような画面に遷移します。
左の一覧から「SSH and GPG keys」をクリックし、「New SSH key ボタン」より登録します。


「New SSH key ボタン」をクリックすると、以下の画面に遷移します。

Title は自由に入力することができるので、今回は「202306」としました。
Key は ターミナルで生成した SSH キーを入力します。

pbcopy コマンドを使用したら Key の入力欄に直接 SSH キー(id_rsa.pub)を貼り付けできます。
Title と Key を入力したら、「Add SSH key ボタン」をクリックします。


登録が完了すると以下の画面が表示されます。登録した Title と SSH キー情報が表示されます。

これで、GitHub へ SSH キーの登録は完了です。
では次に、Git コマンドを再度実行して、コードを公開します。


GitHub に公開するためにコマンド実行

Tips 〜 SSH 接続できるのか?を確認する方法〜

ターミナルで ssh -T [email protected] コマンドを実行すると、以下のようなメッセージが返ってきます。

このメッセージが返ってくれば SSH 接続は成功です。

Hi (account名)! You’ve successfully authenticated, but GitHub does not provide shell access.

ターミナルへ移動し、さきほど実行失敗した git push コマンドを実行します。

比較しやすいように git push コマンドが失敗した続きから再度 git push コマンドを実行しました。
パスワードの入力が求められるので、SSH キーを生成するときに設定したパスワードを入力し、Enter を押下します。
入力した文字は表示されませんが、しっかり入力できています。

done. と返ってきたので、公開されているかを確認するために GitHub へ移動します。


GitHub でローカルのコードが公開されていることを確認

GitHub のページより、Repositories タブをクリックするとリポジトリが表示されていることを確認できます。リポジトリをクリックして、コードが公開されているかを確認します。


ローカルで作成した hello-worlld フォルダの中身一覧が表示されていることを確認することができます。
これでローカルで作成したアプリケーションやコードを GitHub で公開することができました!


さいごに

SSH キーの登録は 1 度でいいので、このあとはスムーズに公開できるようになります。GitHub をしっかり理解するためには、かなり学習時間がかかります。
理解して GitHub を使用できるようになるのが理想です。

しかし、いつまでも利用できないままだとせっかく作成したアプリケーションやコードを公開することができません。
まずは公開できるようになりましょう!

GitHub を使用していくと壁に当たることがあると思いますが、そのときに解決していきましょう。

—————————————————————————————-

以下のように GitHub でアクティブな日付に緑のマークがつきます。ここからどれだけアプトプットしているかを見れますので、アピールもできるかもしれませんね!


おまけ(余談)

今回どのようなコードを公開したのかを紹介します。

まずは、 app.py の中身を GitHub で確認します。

「hello world」を表示するコードでした。Python を初めて勉強した方は、通ってきた道ではないでしょうか?

ローカルで動作確認をしてみました。

しっかり「hello world」が表示されました。ここまで読んでくださってありがとうございます!

こちらの記事もオススメ

まずは無料で学びたい方・最速で学びたい方へ

まずは無料で学びたい方: Python&機械学習入門コースがおすすめ

Python&機械学習入門コース

AI・機械学習を学び始めるならまずはここから!経産省の Web サイトでも紹介されているわかりやすいと評判の Python&機械学習入門コースが無料で受けられます!
さらにステップアップした脱ブラックボックスコースや、IT パスポートをはじめとした資格取得を目指すコースもなんと無料です!

無料で学ぶ

最速で学びたい方:キカガクの長期コースがおすすめ

一生学び放題

続々と転職・キャリアアップに成功中!受講生ファーストのサポートが人気のポイントです!

AI・機械学習・データサイエンスといえばキカガク!
非常に需要が高まっている最先端スキルを「今のうちに」習得しませんか?

無料説明会を週 2 開催しています。毎月受講生の定員がございますので確認はお早めに!

説明会ではこんなことをお話します!
  • 国も企業も育成に力を入れている先端 IT 人材とは
  • キカガクの研修実績
  • 長期コースでの学び方、できるようになること
  • 料金・給付金について
  • 質疑応答