前回の記事

今回は、GitHubとVPSの連携編です。
Tomoyaまず、ローカルにあったチェスのフォルダをGitHubにリポジトリとして登録します。
これはローカル開発ではよくある流れなので、初めての方は覚えておいて損はありません。
すでに知っている方は、復習のつもりで読んでもらえればと思います。
git init
git add .
git commit -m "VPSデプロイ準備:観戦モード実装"
git remote add origin GitHubで発行されたリポジトリのURL
git branch -M main
git push -u origin main


その後、VPS側からGitHubに接続し、GitHub上に上げたチェスシステムをVPSにclone(コピー)して使っていく、という流れです。
Tomoyaこの過程で大きなつまずきがあったので、正直に共有していきます!
これは誰もが通りやすい壁だと思うので、焦らず、途中で投げ出さずに読んでみてください。
なぜGitHubのパスワードではログインできないのか
VPSからGitHubのリポジトリを取ってこようとすると、セキュリティ上、認証を通す必要があります。
Tomoyaてっきり、いつも使っているGitHubのユーザー名とログインパスワードを入力すればいいだけだと思っていました。
git clone GitHubのリポジトリURL VPS_chess
ところが、いつも使っているGitHubのパスワードを入力してもエラーになり、最初はかなり焦りました。実は今のGitHubは、こうしたコマンド経由での操作に対して、通常のログインパスワードでの認証をセキュリティ上の理由で受け付けなくなっているのです。

代わりに必要になるのが、Personal Access Token(個人アクセストークン)という、パスワードとは別に発行する専用の【鍵】でした。
Tomoyaこれを知らずにパスワードを入力し続けてエラーになっていた時は、本当に頭が真っ白になりました。
Personal Access Tokenとは何か
つまり、GitHubのログインパスワードとは別に、リポジトリにアクセスするための鍵を新しく発行する必要がある、ということです。
Tomoyaこれを初めて知った時は、正直かなり心が折れそうになりました。
非エンジニアからすると、「パスワード」はよく知っている存在でも、「トークン」という言葉には馴染みがありません。難しく感じてしまいがちですが、まずはシンプルに「リポジトリにアクセスするための、パスワードとは別の鍵」だと理解することが大事だと思います。
さらにGitHubには、このトークンが2種類存在することも、最初の戸惑いに拍車をかけました。ここはAIにわかりやすく整理してもらうことで、それぞれの違いと、自分がどちらを選ぶべきかを判断することができました。
Fine-grained tokenを選んだ理由
- ①Classic token
-
自分の持っているリポジトリすべてにアクセスできる、いわば「万能な鍵」です。
- ②Fine-grained token
-
選択した特定のリポジトリだけに絞って権限を発行できる鍵です。
これまでのSSH鍵やAPIキーの経験から学んだ「必要最小限の権限にしておく」という考え方が、ここでもそのまま活きることに気づき、少し嬉しくなりました。

実際にトークンを発行してみて
Tomoya確かにClassic tokenの方がシンプルで発行しやすいのですが、Fine-grainedでもそこまで難しくなく発行できました。
- Token name:分かりやすい名前をつける
- Expiration(有効期限):無期限は避け、期限を設定する。(私は90日を選択)
- Repository access:「Only select repositories」を選び、今回の
VPS_chessのリポジトリだけにチェックを入れる - Permissions(許可):「Repository permissions」の中の「Contents」を、【Read-only(読み取り専用)】に設定する

初めてのうちは、範囲を広く取っておいた方が使いやすい場面もあると思います。ただ今回は「VPSにこのチェスシステムだけをクローンする」という明確な目的があったので、Fine-grainedの方が明らかに適していると判断できたのは、選択する上で良い経験になりました。
権限やスコープという言葉自体、あまり聞き馴染みがなく何を選べばいいのか迷いましたが、今回はVPSにリポジトリをクローンするだけなので、Read-onlyを選択しました。
VPS側で実際に使ってみる

発行したトークンは「二度と表示されない」と言われました。少し緊張する瞬間ですが、今後もいろいろな鍵を発行する場面でこの感覚には慣れていくのだと思います。ただ、これを忘れてしまうと再発行の手間がかかるので、なるべく忘れないよう、自分だけの環境でしっかり管理するようにしています。
git clone GitHubのリポジトリURL VPS_chess
- Username:GitHubのユーザー名
- Password:(GitHubのパスワードではなく)発行したトークンをそのまま貼り付け
VPS側でパスワード欄にトークンを貼り付けると、さきほどのつまずきの時と同じように、画面には何も表示されません。
Tomoyaこれがまた不安を掻き立てるのですが、
今回は「トークンを発行して、それを正しく貼り付けた」という確信があったので、臆することなくEnterを押しました。
無事にcloneは成功しました。
つまずいた点・率直な感想
ローカルPC→GitHub→VPSという連携の流れ自体は、やることは明確でシンプルです。
ただ、外部のサービス同士を連携させる以上、セキュリティをクリアにしていく手間は必ずかかってくるのだと実感しました。
今回のトークン認証は、まさにその典型で、これから同じ道を通る非エンジニアの方も、きっと同じところでつまずくだろうと思います。この記事を読んで、意味を理解した上でクリアにしていってもらえたら嬉しいです。
そして何より伝えたいのは、こういう場面でこそAIを頼ってほしい、ということです。読んでもらえること自体もありがたいのですが、ちょっとした壁でつまずいて挫折してしまうより、AIを使ってその場で疑問を解消し、次に進めることの方がずっと大事だと思っています。
まとめ・次回予告
次は、VPS上でこのチェスシステムを動かすための環境構築・デプロイに進んでいきます。

TomoyaVPSに興味を持った方にはXserver VPSがおすすめですし、開発を進めるならCursorを使うのがおすすめです。





コメント