blog

GitLabの設定sshキー

I.背景 現在、多くの企業は、コードのバージョン管理ツールとしてgitを選択し、その後、自分の会社は、コードを管理するためにプライベートgitlabを構築するために、クローンコードは、httpプロトコ...

Oct 22, 2020 · 4 min. read
シェア

I. 背景

現在、多くの企業がコードのバージョン管理ツールとしてgitを選択しており、その後、自分の会社がコードを管理するためにプライベートgitlabを構築するには、クローンコードでは、httpプロトコルを選択することができますもちろん、あなたもコードをプルするsshプロトコルを選択することができます。しかし、インターネットはめったにsshキーを生成するためにgitクライアントを使用する方法を見つけ、その後、gitlabに設定し、私はあやまって時間をやっていたし、最終的に解決策を見つけ、その後、この記事、ローカルgitクライアントにsshキーを生成する方法について話をするために、その後、gitlabに設定し、その後、sshプロトコルを使用して提出し、ギットのリモート倉庫のプルのコードをsshプロトコルを使ってリモートのgitリポジトリから取得する方法について説明します。

解決方法

  1. ローカルのgit bashを開き、以下のコマンドを使ってsshの公開鍵と秘密鍵のペアを生成します。

    ssh-keygen -t rsa -C 'xxx@xxx.com' それからずっと戻ってください。

  2. 次に、~/.ssh/id_rsa.pubファイルを開き、その内容をコピーします。

  3. gitlabを開き、Profile Settings-->SSH Keys-->Add SSH Keyを見つけ、前のステップでコピーした内容を鍵に対応するテキストボックスに貼り付け、Titleに対応するテキストボックスにこのsshkeyの名前を設定し、Add keyボタンをクリックします。

4.これで gitlab で ssh キーを設定する手順はすべて完了したので、ssh プロトコルを使ってコードをプルしたりコミットしたりできるようになりました。

5.パスワードを入力する必要はありません。

複数の ssh キーをローカルに設定

ほとんどの場合、マシンは、会社のgitlab、github、osJapanなど、多くのgitホストを持っている場合は、ローカルにsshキーの数を設定する必要があるので、異なるホストが異なるsshキーを使用できるように、練習は次のとおりです:

  1. 会社用の秘密の ssh キーのペアを生成します。

    ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa
  2. github 用の秘密の ssh キーのペアを生成します。

    ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa
  3. ~/.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パスを指定する。
    
  4. もう一度gitコマンドを実行して、再度パーミッションを確認する必要がないことを確認してください。

まとめ

なぜsshプロトコルを使用しますか?なぜなら、sshは、より安全で、より便利な、例えば、httpプロトコルで会社のgitlabがhttpsプロトコルに変更され、その後、あなたがコードを管理するためにhttpプロトコルを使用している場合は、gitアドレス内のすべてのプロジェクトをhttpsに変更する必要があり、これは狂気を駆動することになります!しかし、最初は何の変更も必要としないsshプロトコルを使用する場合は、単にこれ以上クールなことはできません。

備考

git はグローバルおよび個別のリポジトリアカウントとパスワードを設定します。

Git のグローバル設定と、個々のリポジトリに対するユーザー名と電子メールの設定

  1. グローバルリポジトリのアカウントとパスワードの設定

    git config --global user.name "userName" // 
    git config --global user.email "email address" //メールアドレス
    
  2. 会社のプロジェクトも git を使っている場合は、個人のアカウントとの衝突を避けるためにリポジトリ用に別のアカウントとパスワードを設定する必要があります。

    リポジトリに移動し、次のコマンドを使用します。

    git config user.name "userName" // 
    git config user.email "email address" //メールアドレス
    
  3. アカウントとパスワードの設定後

    git config --list //gitの設定を確認する
    

Git複数のSSH-Keyの設定

[SSHキー]

背景

複数の git アカウントがある場合など:

a. gitee: 社内開発用;

b. github: 自分自身で開発活動を行うためのもの;

解決方法

  1. 会社で使用するSSHキーの生成
$ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/_id_rsa
  1. github用のSSH-Keyを生成します。
$ ssh-keygen -t rsa -C 'xxxxx@MSN.com' -f ~/.ssh/github_id_rsa
  1. ~/.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を例にとると、成功すると以下のような内容が返されます。

Read next

MySQL MySQLアーキテクチャの知識

データベースは、これらのファイルにSELECT、INSERT、UPDATEおよびDELETEなどのデータベース操作を実行するために、別の後に1つのファイルで構成されているので、単にファイルの内容を変更するには、データベースの操作を完了するには、データベースインスタンスを介してデータベースの操作を完了する必要が変更することはできません。 接続層:いくつかのクライアントと接続サービス。主にいくつかの同様の完了...

Oct 21, 2020 · 2 min read