0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

github初回のコミット

Posted at

github初回コミット時

githubコミット時にSSHの設定やらで困ったので記載しておきます。

はじめに

ブラウザのgitHub上で確認したところ、下記のようなコミット手段があるようです。

ssh_01.png

  • HTTPS
  • SSH
  • GitHub CLI

GitHub CLIは何かしら特別なツールをインストールしなければいけない雰囲気が漂っているので避けました。

まずは、HTTPSでCloneを試してみようと思いましたが・・・

HTTPS

データを取得するために、下記のコマンドを実行します。

git clone https://github.com/<ユーザ名>/<リポジトリ名>.git

ユーザ名とパスワードを聞かれるため、ユーザ名とパスワードを入力しました。

エラー発生

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/<ユーザ名>/<リポジトリ名>.git/'

最初の箇所のみ訳すると、パスワード認証については2021年8月13日からできなくなりました。
代わりにアクセストークンを取得してくださいとのこと。

下記のgitHubのドキュメントからアクセストークンについては取得できるようです。
アクセストークンの取得方法

画面としては「右上のアカウントマーク -> Developer settings -> Personal access tokens」から
アクセストークンを取得することが出来ます。
アクセストークン取得画面
設定項目を見ると、有効期限があります。

設定値として「No expiration」(有効期限なし)を設定することも可能ですが、

注意事項が出てきて、有効期限を設定することを強く推奨する。と訴えてきます。

GitHub strongly recommends that you set an expiration date for your token to help keep your information secure. Learn more

有効期限が気にならない人は、上記の手順でHTTPSを利用してください。

SSH

SSHを利用して、通信を行います。

SSH鍵の作成

※Windowsの人はsshがデフォルトだとインストールされていません。
※そのため、「設定 -> アプリ -> アプリと機能 -> オプション機能 -> 機能の追加」からOpenSSHクライアントにチェックを入れてインストールしてください。

まず、SSH鍵の作成を参考にしつつ、SSH用の鍵を作成します。
Cオプションはただのコメントの為省略しています。

ssh-keygen -t ed25519

ed25519をサポートしていない場合は下記のコマンドを実行。

ssh-keygen -t rsa -b 4096

ssh-keygenのオプション

オプション 説明
t 暗号化の方式(デフォルトはrsa)
rsaやdsa、ecdsa等が選択可能。
b bit数。長いほど強固な鍵となる。
C コメント
f ファイル名(オプションの組み合わせで意味合いが変わるので注意が必要

コマンドを実行するといくつか質問が聞かれるので、適宜回答していきます。
※過去に鍵を作成したことがある場合、fオプションを利用して鍵名を変更して作成してください。
 (鍵が存在するかどうかは、<ユーザフォルダ>¥.ssh配下に鍵ファイルがあるか否かで判断してください。)

SSH鍵のGitHubへの登録

説明を書こうと思っていましたが、公式が優秀なのでリンクだけ張り付けておきます。

鍵の登録
ssh_01.png
あとは、自分のリポジトリに移動し上記のSSHを確認し、下記のコマンドを実行します。

git clone <SSHの内容>

上手くいけば問題無くCloneされます。

備考

通信速度自体はhttpsの方がsshより早いため、大きなリポジトリからcloneする場合、
一時的にアクセストークンを取得してhttpsを利用したほうが良さそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?