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
クライアントマシン上のキーへのアクセスを保護するためにパスフレーズを入力するように求められます。空白のままにするか、お気に入りのパスフレーズを入力するかを選択できます。
上級者向けのヒント:パスフレーズを入力しても文字は表示されません。これは、パスフレーズの長さを隠し、セキュリティを強化するためです。
プロのヒント 2:パスフレーズをどこかに書いてください。それを忘れると、アクセスを回復できなくなります。
ここでは ssh key-gen
コマンドのデフォルトを使用しますが、さまざまなオプションを渡すこともできます。必要な暗号化アルゴリズム(ed2559 など)、ラベル、キーを保存するための特定の場所です。
保存された SSH キーペアを確認する
SSH キーが適切に生成および保存されているかどうかを確認します。
ls -al ~/.ssh
キーは、マシンの .ssh
フォルダに保存されています。id_rsa
ファイルは秘密鍵を保持し、id_rsa.pub
は公開鍵を保持します。
出力にこれらの 2つのファイルが表示されている場合は、SSH キーペアが正常に作成および保存されています。
SSH キーを SSH エージェントに追加する
SSH エージェントをバックグラウンドプロセスとして起動します。
eval "$(ssh-agent -s)"
エージェントがバックグラウンドプロセス 970
として実行されていることがわかります。SSH エージェントに SSH 秘密鍵を追加します。
ssh-add ~/.ssh/id_rsa
エージェントは、ID が追加されました:<path_to_private_key
というメッセージで秘密鍵が追加されたことを確認します。
リモート GitHub アカウントに公開鍵を追加する
公開鍵をクリップボードにコピーします。
clip < ~/.ssh/id_rsa.pub
上級者向けのヒント:常に PUBLIC
キーをコピーしてください。PRIVATE
キーを誰とも共有しないでください。
GitHub
アカウントに移動します。Profile Picture
をクリックします。- ドロップダウンメニューから
Settings
を選択します。
- 左側の列の [SSH および GPG キー]をクリックします。
- 右上の[新しい SSH キー]をクリックします。
- 説明を追加し、
PUBLIC
キーをKey
フィールドに貼り付けます。
これで、GitHub アカウントで SSH エージェントを正常に識別できました。
GitHub への SSH 接続をテストする
GitHub への SSH 接続をテストします。
ssh -T git@github.com
メッセージは、認証に成功したことを確認します。
Git で SSH キーを使用してリポジトリのクローンを作成する
次に、SSH を使用してリモートリポジトリのクローンを作成します。
- リポジトリの SSHURL をコピーします
GitHub
のリポジトリで、右上のコード
緑色のボタンをクリックします。
SSH
をクリックして SSHURL を表示します。この SSHURL をコピーします。
- Git ターミナルでの Git クローン SSH
Git ターミナルで SSH を使用してリモートのクローンを作成します。
git clone <remote_repo_ssh_url>
<remote_repo_ssh_url>
は、上記でコピーした URL です。
SSH キーを使用して Git にリポジトリのクローンを作成しました。
オプションで Git クローン SSH を拡張する
ユースケースに合わせて特定のタイプのクローンが必要になる場合があります。いくつかのオプションを使用して、SSH 経由で Git クローンを拡張できます。
- Git クローン SSH は特定のブランチのみ
SSH キーを使用して 1つのブランチのみを複製するには:
git clone --branch <branch_to_clone> <remote_repo_ssh_url>
これは、大規模なリポジトリの場合に非常に役立ちます。ローカルマシンの時間とスペースを節約するために、作業中のブランチのみ、または関心のあるいくつかのブランチのみを複製することをお勧めします。
- SSH キーを使用して特定の場所に Git クローンを作成する
ローカルディレクトリ構造を適切に整理するために、特定のフォルダにクローンを作成することをお勧めします。
特定の場所にクローンを作成するには:
git clone <remote_repo_ssh_url> <specific_location_local>
- SSH キーを使用した浅い Git クローン-少数のコミットのみをクローンします
リポジトリが大きい場合は、クローン時間を短縮するか、ローカルディスクスペースを節約することをお勧めします。これを行うには、最後のいくつかのコミットの選択されたセットのみを複製します。
最近のいくつかのコミットのみを複製するには:
git clone --depth=<n> <remote_repo_ssh_url>
ここで、<n>
は、クローンを作成する最近のコミットの数です。
たとえば、n = 2
の場合、最後の 2つのコミットのみが複製されます。