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"
ここで、要求されたとおりにファイルの場所とパスフレーズを入力する必要があります。
上記のセクションのように、提供された詳細入力に基づいて、上記で指定された 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-anaa
と github-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 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