Git で SSH キーを使用してリポジトリまたはブランチのクローンを作成する

Ankit Raj Goyal 2023年1月30日
  1. SSH とは何ですか
  2. SSH キーで Git クローンを使用する理由
  3. Git で SSH キーを使用してリポジトリのクローンを作成する
  4. オプションで Git クローン SSH を拡張する
Git で SSH キーを使用してリポジトリまたはブランチのクローンを作成する

SSH Git Clone は、リモートリポジトリのクローンを作成するための安全な方法を提供します。このチュートリアルでは、SSH キーを使用して Git クローンを作成する完全な方法を示します。SSH キーを生成する方法、Git で SSH を設定する方法、SSH キーを使用して Git クローンを作成する方法です。

また、機能を拡張するためのいくつかの便利なオプションを示します。1つのブランチのみを複製するか、選択したディレクトリに複製するか、大規模なリポジトリに対して少数のコミットのみを複製します。

SSH とは何ですか

SSH または Secure Shell Protocol は、安全でないネットワーク上で安全なサービスを使用するためのネットワークプロトコルです。公開鍵と秘密鍵のペアを使用します。使用するサービスに公開鍵を送信する間は、秘密鍵にアクセスするのはあなただけです。

公開鍵で暗号化されたデータは、秘密鍵でのみ開くことができ、その逆も可能です。

SSH キーで Git クローンを使用する理由

SSH Git Clone は、安全でないパブリックネットワーク上でリモートリポジトリを安全に複製する簡単な方法を提供します。

SSH キーを使用して Git クローンを作成する場合、リモートサーバーに対して自分自身を識別するために毎回パスワードを再入力する必要はありません。サーバーが SSH エージェントを認証すると、サーバーは詳細を記憶します。毎回 SSH キーを再入力する必要はありません。

SSH キーペアを生成する

ssh key-gen コマンドを使用して SSH 公開鍵と秘密鍵のペアを生成します。

ssh key-gen

ssh キーを生成する

クライアントマシン上のキーへのアクセスを保護するためにパスフレーズを入力するように求められます。空白のままにするか、お気に入りのパスフレーズを入力するかを選択できます。

上級者向けのヒント:パスフレーズを入力しても文字は表示されません。これは、パスフレーズの長さを隠し、セキュリティを強化するためです。

プロのヒント 2:パスフレーズをどこかに書いてください。それを忘れると、アクセスを回復できなくなります。

ここでは ssh key-gen コマンドのデフォルトを使用しますが、さまざまなオプションを渡すこともできます。必要な暗号化アルゴリズム(ed2559 など)、ラベル、キーを保存するための特定の場所です。

保存された SSH キーペアを確認する

SSH キーが適切に生成および保存されているかどうかを確認します。

ls -al ~/.ssh

ssh キーを確認してください

キーは、マシンの .ssh フォルダに保存されています。id_rsa ファイルは秘密鍵を保持し、id_rsa.pub は公開鍵を保持します。

出力にこれらの 2つのファイルが表示されている場合は、SSH キーペアが正常に作成および保存されています。

SSH キーを SSH エージェントに追加する

SSH エージェントをバックグラウンドプロセスとして起動します。

eval "$(ssh-agent -s)"

ssh エージェントを起動します

エージェントがバックグラウンドプロセス 970 として実行されていることがわかります。SSH エージェントに SSH 秘密鍵を追加します。

ssh-add ~/.ssh/id_rsa

privatekeysshagent を追加します

エージェントは、ID が追加されました:<path_to_private_key というメッセージで秘密鍵が追加されたことを確認します。

リモート GitHub アカウントに公開鍵を追加する

公開鍵をクリップボードにコピーします。

clip < ~/.ssh/id_rsa.pub

上級者向けのヒント:常に PUBLIC キーをコピーしてください。PRIVATE キーを誰とも共有しないでください。

  1. GitHub アカウントに移動します。
  2. Profile Picture をクリックします。
  3. ドロップダウンメニューから Settings を選択します。

github 設定

  1. 左側の列の [SSH および GPG キー]をクリックします。

ssh キーと gpg キーを選択します

  1. 右上の[新しい SSH キー]をクリックします。

新しい ssh キークリック

  1. 説明を追加し、PUBLIC キーを Key フィールドに貼り付けます。

パブリック sshkey を github に貼り付けます

これで、GitHub アカウントで SSH エージェントを正常に識別できました。

GitHub への SSH 接続をテストする

GitHub への SSH 接続をテストします。

ssh -T git@github.com

ssh 接続をテストします

メッセージは、認証に成功したことを確認します。

Git で SSH キーを使用してリポジトリのクローンを作成する

次に、SSH を使用してリモートリポジトリのクローンを作成します。

  1. リポジトリの SSHURL をコピーします

GitHub のリポジトリで、右上のコード緑色のボタンをクリックします。

SSH をクリックして SSHURL を表示します。この SSHURL をコピーします。

ssh URL をコピーする

  1. Git ターミナルでの Git クローン SSH

Git ターミナルで SSH を使用してリモートのクローンを作成します。

git clone <remote_repo_ssh_url>

<remote_repo_ssh_url> は、上記でコピーした URL です。

git clone ssh

SSH キーを使用して Git にリポジトリのクローンを作成しました。

オプションで Git クローン SSH を拡張する

ユースケースに合わせて特定のタイプのクローンが必要になる場合があります。いくつかのオプションを使用して、SSH 経由で Git クローンを拡張できます。

  1. Git クローン SSH は特定のブランチのみ

SSH キーを使用して 1つのブランチのみを複製するには:

git clone --branch <branch_to_clone> <remote_repo_ssh_url>

git clone 固有のブランチ

これは、大規模なリポジトリの場合に非常に役立ちます。ローカルマシンの時間とスペースを節約するために、作業中のブランチのみ、または関心のあるいくつかのブランチのみを複製することをお勧めします。

  1. SSH キーを使用して特定の場所に Git クローンを作成する

ローカルディレクトリ構造を適切に整理するために、特定のフォルダにクローンを作成することをお勧めします。

特定の場所にクローンを作成するには:

git clone <remote_repo_ssh_url> <specific_location_local>

git clone 固有の場所

  1. SSH キーを使用した浅い Git クローン-少数のコミットのみをクローンします

リポジトリが大きい場合は、クローン時間を短縮するか、ローカルディスクスペースを節約することをお勧めします。これを行うには、最後のいくつかのコミットの選択されたセットのみを複製します。

最近のいくつかのコミットのみを複製するには:

git clone --depth=<n> <remote_repo_ssh_url>

ここで、<n> は、クローンを作成する最近のコミットの数です。

たとえば、n = 2 の場合、最後の 2つのコミットのみが複製されます。

git シャロークローン ssh

関連記事 - Git Clone