I. 背景
現在、多くの企業がコードのバージョン管理ツールとしてgitを選択しており、その後、自分の会社がコードを管理するためにプライベートgitlabを構築するには、クローンコードでは、httpプロトコルを選択することができますもちろん、あなたもコードをプルするsshプロトコルを選択することができます。しかし、インターネットはめったにsshキーを生成するためにgitクライアントを使用する方法を見つけ、その後、gitlabに設定し、私はあやまって時間をやっていたし、最終的に解決策を見つけ、その後、この記事、ローカルgitクライアントにsshキーを生成する方法について話をするために、その後、gitlabに設定し、その後、sshプロトコルを使用して提出し、ギットのリモート倉庫のプルのコードをsshプロトコルを使ってリモートのgitリポジトリから取得する方法について説明します。
解決方法
ローカルのgit bashを開き、以下のコマンドを使ってsshの公開鍵と秘密鍵のペアを生成します。
ssh-keygen -t rsa -C 'xxx@xxx.com'それからずっと戻ってください。次に、~/.ssh/id_rsa.pubファイルを開き、その内容をコピーします。
gitlabを開き、Profile Settings-->SSH Keys-->Add SSH Keyを見つけ、前のステップでコピーした内容を鍵に対応するテキストボックスに貼り付け、Titleに対応するテキストボックスにこのsshkeyの名前を設定し、Add keyボタンをクリックします。
4.これで gitlab で ssh キーを設定する手順はすべて完了したので、ssh プロトコルを使ってコードをプルしたりコミットしたりできるようになりました。
5.パスワードを入力する必要はありません。
複数の ssh キーをローカルに設定
ほとんどの場合、マシンは、会社のgitlab、github、osJapanなど、多くのgitホストを持っている場合は、ローカルにsshキーの数を設定する必要があるので、異なるホストが異なるsshキーを使用できるように、練習は次のとおりです:
会社用の秘密の ssh キーのペアを生成します。
ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsagithub 用の秘密の ssh キーのペアを生成します。
ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa~/.ssh ディレクトリに config という名前の新しいファイルを作成します。このファイルは、複数の異なるホストが異なる ssh キーを使用するように設定するために使用します:
# gitlab Host gitlab.com HostName gitlab.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitlab_id-rsa # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_id-rsa # 設定ファイルのパラメータ # Host : Hostこれは、特定したいパターンとみなすことができ、特定したパターンに対して、対応するホスト名とsshファイルを設定する。 # HostName : ログインしたいホストのホスト名 # User : # IdentityFile : 上記UserのidentityFileパスを指定する。もう一度gitコマンドを実行して、再度パーミッションを確認する必要がないことを確認してください。
まとめ
なぜsshプロトコルを使用しますか?なぜなら、sshは、より安全で、より便利な、例えば、httpプロトコルで会社のgitlabがhttpsプロトコルに変更され、その後、あなたがコードを管理するためにhttpプロトコルを使用している場合は、gitアドレス内のすべてのプロジェクトをhttpsに変更する必要があり、これは狂気を駆動することになります!しかし、最初は何の変更も必要としないsshプロトコルを使用する場合は、単にこれ以上クールなことはできません。
備考
git はグローバルおよび個別のリポジトリアカウントとパスワードを設定します。
Git のグローバル設定と、個々のリポジトリに対するユーザー名と電子メールの設定
グローバルリポジトリのアカウントとパスワードの設定
git config --global user.name "userName" // git config --global user.email "email address" //メールアドレス会社のプロジェクトも git を使っている場合は、個人のアカウントとの衝突を避けるためにリポジトリ用に別のアカウントとパスワードを設定する必要があります。
リポジトリに移動し、次のコマンドを使用します。git config user.name "userName" // git config user.email "email address" //メールアドレスアカウントとパスワードの設定後
git config --list //gitの設定を確認する
Git複数のSSH-Keyの設定
背景
複数の git アカウントがある場合など:
a. gitee: 社内開発用;
b. github: 自分自身で開発活動を行うためのもの;
解決方法
- 会社で使用するSSHキーの生成
$ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/_id_rsa
- github用のSSH-Keyを生成します。
$ ssh-keygen -t rsa -C 'xxxxx@MSN.com' -f ~/.ssh/github_id_rsa
- ~/.ssh ディレクトリに新しい設定ファイルを作成し、以下の内容を追加します。
#
Host .com
HostName .com
PreferredAuthentications publickey
IdentityFile ~/.ssh/_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
4.sshコマンドを使って個別にテストします。
$ ssh -T git@.com
$ ssh -T git@github.com
giteeを例にとると、成功すると以下のような内容が返されます。





