最近、GitHubがパスワードを使用したGitの基本認証を廃止するという通知を受け取り始めました。ブログ投稿をご覧ください。https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/。
この投稿では、次のように述べられています。
開発者の方は、現在 GitHub.com で Git 操作を認証するためにパスワードを使用している場合は、中断を回避するために、2021 年 8 月 13 日までに HTTPS (推奨) または SSH キー経由の個人アクセス トークンの使用を開始する必要があります。
少し前に、パスワードを定期的に入力したり、認証ヘルパーで暗号化せずに保存したりすることを避けるために、使用しているマシンの一部で SSH キーを使い始めました。ただし、上記のように、個人アクセス トークンが「推奨」されているとのことです。
私が知りたいのは、これらの各方法の主な違いは何かということです。これは、トークンが「推奨」される理由と、この認証方法に切り替える価値があるかどうかについての洞察を得るためです。
ベストアンサー1
からリンクしたブログ記事トークンとSSHキーはどちらも同じ機能を持っていますが、SSHキーよりもトークンのほうが有利な点が少なくとも1つあります。個性的、取り消し可能、 そしてランダム以下のブログ記事で引用されている利点に加えて、トークンは限定SSHキーと比較すると、独自のスコープ付き権限が組み込まれている:
SSH キーは読み取り専用または読み取り/書き込み可能にしたり、特定のリポジトリにスコープを設定したりできますが、比較すると、個人アクセス トークンの方がきめ細かい権限モデルという点で優れています。これが、GitHub が SSH キーよりもトークンを推奨する理由であると考えられます。
トークンは、パスワードベースの認証に比べて、次のような多くのセキュリティ上の利点があります。
- ユニーク – トークンはGitHubに固有のものであり、使用ごとまたはデバイスごとに生成できます。
- 取り消し可能 – 影響を受けない資格情報を更新することなく、トークンをいつでも個別に取り消すことができます。
- 限定的 – トークンのスコープを狭くして、ユースケースに必要なアクセスのみを許可することができます。
- ランダム – トークンは、覚えたり定期的に入力したりする必要がある単純なパスワードの場合のような辞書やブルートフォース攻撃の対象にはなりません。