SSH キーを使用した Git プッシュ

Abdul Jabbar 2024年2月15日
  1. SSH キー ペアの生成
  2. SSH キーの指定
SSH キーを使用した Git プッシュ

SSH はセキュア シェルの略です。 これは、SSH ネットワーク プロトコルのアクセス証明書を提供するキーです。

保証されていないオープン ネットワーク上のエンジン間でリモート サーバーへのアクセスを提供します。 データ、ファイル、およびネットワーク管理の転送に使用され、オリジンからリモート サーバーへのアクセスを提供します。

開発者がローカル Git インストールとリモート Git リポジトリ間でファイルを安全にプッシュ、プル、または複製したい場合、開発者が最初に必要とすることは、そのサーバーで SSH キー ペアを作成することです。 このキーを通じて、開発者は、認定された開発者の Git インストールとリモート サーバーの両方によって識別されます。

SSH キー ペアを生成し、この SSH キーを使用して変更された状態の作業をリモート リポジトリにプッシュする方法を見てみましょう。 SSH キー ペアの生成の詳細は次のとおりです。

SSH キー ペアの生成

SSH キー ペアを作成するには、Git Bash に移動します。 開いた後、次のコマンドを電子メール ID とともに使用します。

ssh-keygen -t rsa -b 4096 -C "email@test.com"

ここで、要求されたとおりにファイルの場所とパスフレーズを入力する必要があります。

git ssh-keygen

上記のセクションのように、提供された詳細入力に基づいて、上記で指定された RSA メソッドを使用してキーが生成されることがわかります。 キーが生成されたら、このキーを使用して、必要な作業をリモート リポジトリにプッシュする必要があります。

SSH キーの指定

開発者が自分の作業を特定の Git リポジトリにプッシュするために、別の SSH キーが必要になる場合があります。 ~/.ssh/id_rsa はデフォルトのサーバー SSH デプロイ キーであるため、開発者は、開発者のワークスペース内のローカル リポジトリを、一意のホストを持つ可能性がある Git サーバーにプッシュすることはできません。

ユーザー名とホスト名が同一であるようなシナリオでは、開発者は ~/.ssh/config で別の SSH キーと権限を指定する必要があります。 構成が以下に定義されているように見えるとしましょう。

Host git-as-anaa
  HostName git.com
  User git
  IdentityFile ~/home/key/xsshfile.thuc
  IdentitiesOnly yes

Host git-as-tomi
  HostName git.com
  User git
  IdentityFile /home/key/sshfile.ten
  IdentitiesOnly yes

このような構成の場合、開発者は github-as-anaagithub-as-tomi のみを使用して、URL の元のホスト名 (git.anaa.com) を置き換えます。

git remote add anaa git@git-as-anaa:your-repo.git
git remote add tomi git@git-as-tomi:your-repo.git

オプション IdentitiesOnly yes は、デフォルトの ID の使用を停止するために使用されます。 一方、デフォルト名と同一の ID ファイルもある場合、オプション IdentityFile は他の構成オプションと同じではなく、試行する ID のリストに追加されるため、最初に試すことが確実に優先されます。

著者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn