• 要件
  • SSHキーのオプション
  • 既存のSSHキーを確認する
  • 新しいSSHキーペアの生成
    • ED25519SSHキー
    • RSA SSHキー
    • SSHキーペアを生成するための一般的な手順
    • バージョン6.5から7までのRSAキーとOpenSSH。,8
  • GitLabアカウントにSSHキーを追加する
  • 二要素認証(2FA)
  • すべてが正しくセットアップされていることをテストする
  • 非デフォルトSSHキーペアパスでの作業
  • リポジトリごとのSSHキー
  • 単一のGitLabインスタンス上の複数のアカウント
  • キーをデプロイする
  • アプリケーション
    • Eclipseli
  • gitlabサーバー上のssh
    • microsoft windows用のオプション
  • トラブルシューティング

gitは分散バージョン管理システムであり、ローカルで作業できることを意味します。,さらに、変更を他のサーバーに共有または”プッシュ”することもできます。GitLabは、SSHキーを使用してGitとそのサーバー間の安全な通信をサポートします。

SSHプロトコルはこのセキュリティを提供し、毎回ユーザー名またはパスワードを指定せずにtheGitLabリモートサーバーに認証することができます。

このページは、GitLabリポジトリへのsecureconnectionsを支援するために使用できる安全なSSHキーを設定するのに役立ちます。

  • SSHキーの作成に関する情報が必要な場合は、SSHキーのオプションから始めてください。,
  • GitLabアカウント専用のSSHキーをお持ちの場合は、デフォルト以外のSSHキーペアパスを使用することに興味があるかもしれません。すでにSSHキーペアをお持ちの場合は、GitLabアカウントにSSHキーを追加する方法に移動できます。

要件

SSHをサポートするには、GitLabにOpenSSHクライアントのインストールが必要です。OpenSSHクライアントは、GNU/LinuxおよびmacOS、およびWindows10にプリインストールされています。

お使いのシステムにSSHバージョン6.5以降が含まれていることを確認してください。, 次のコマンドは、システムにインストールされているバージョンのofSSHを返します。

ssh -V

GitLabはMicrosoft Windowsへのインストールをサポートしていませんが、SSHキーを設定してWindowsをクライアントとしてセットアップすることができます。

SSHキーのオプション

GitLabでは、RSA、DSA、ECDSA、およびED25519キーの使用がサポートされています。

  • GitLabはGitLab11.0でdsaキーを非推奨にしました。Goによる実用的な暗号化で説明されているように、DSAに関連するセキュリティ問題はECDSAにも適用されます。,
noteAvailableドキュメントは、ED25519がより安全であることを示唆しています。 RSAキーを使用する場合、米国国立科学技術研究所の刊行物800-57Part3(PDF)では、少なくとも2048ビットのキーサイズを推奨しています。

したがって、このドキュメントでは、ED25519とRSAキーの使用に焦点を当てています。

管理者は、許可するキーとその最小長を制限できます。

既存のSSHキーを確認する

既存のSSHキーがある場合は、GitLabrepositoriesとの接続を保護するためにそれらを使用できる場合があります。, デフォルトでは、LinuxおよびmacOSシステムのSSHキーは、ユーザーのホームディレクトリの.ssh/サブディレクトリに格納されます。 以下のテーブルを含むデフォルトのファイル名は各SSH鍵アルゴリズム:

のための勧告は、オプションのためにSSH鍵となります。

新しいSSHキーペアの生成

作成する場合

  • ED25519キーは、ED25519SSHキーを読み取ります。
  • RSAキー、RSA SSHキーを読み取ります。

ED25519SSHキー

Gosuggestsによる本の実用的な暗号化は、ED25519キーがRSAキーよりも安全で高性能であることを示しています。,

OpenSSH6.5がED25519SSHキーを2014年に導入したため、現在動作しているシステムで利用可能である必要があります。

次のコマンドを使用してED25519キーを作成および構成できます。

ssh-keygen -t ed25519 -C "<comment>"

-Cフラグは、電子メールアドレスなどの引用符で囲まれたコメントを付けるオプションの方法で、SSHキーにラベルを付けることができます。

あなたは次のような応答が表示されます:

Generating public/private ed25519 key pair.Enter file in which to save the key (/home/user/.ssh/id_ed25519):

ガイダンスについては、一般的な手順に進みます。,

RSA SSHキー

SSHにRSAキーを使用する場合は、米国国立標準技術研究所が推奨しています少なくとも2048のキーサイズを使用することをお勧めしますbits.By デフォルトでは、ssh-keygenコマンドは1024ビットRSAキーを作成します。,

RSAキーを作成して構成するには、次のコマンドを使用します。2048:

ssh-keygen -t rsa -b 2048 -C "[email protected]"

-Cフラグは、電子メールアドレスなどの引用符で囲まれたコメントを付けるオプションの方法です。sshキー。

次のような応答が表示されます。

Generating public/private rsa key pair.Enter file in which to save the key (/home/user/.ssh/id_rsa):

ガイダンスについては、一般的な手順に進みます。注OpenSSHバージョン7をお持ちの場合。,8以下、エンコーディングに関連する問題を考えてみましょう。

SSHキーペアを生成するための一般的な手順

ED25519またはRSAキーを作成しているかどうか、あなたはssh-keygencommand.At この時点で、コマンドラインに次のメッセージが表示されます(ED25519キーの場合)。

Generating public/private ed25519 key pair.Enter file in which to save the key (/home/user/.ssh/id_ed25519):

SSHキーペアがまだなく、デプロイキーを生成していない場合は、推奨されるファイルとディレクトリを受け入れます。 SSHクライアントは、追加の構成なしで結果のSSHキーペアを使用します。,または、新しいSSHキーペアを別の場所に保存することもできます。選択したディレクトリとファイル名を割り当てることがでまた、そのSSHキーペアを特定のホストに専用にすることもできます。

SSHキーを保存するファイルを割り当てた後、SSHキーのパスフレーズを設定できます。

Enter passphrase (empty for no passphrase):Enter same passphrase again:

成功すると、ssh-keygenコマンドがidと秘密キーを保存した場所の確認が表示されます。,

必要に応じて、次のコマンドでパスフレーズを更新できます。

ssh-keygen -p -f /path/to/ssh_key

RSAキーとOpenSSHバージョン6.5から7.8まで

OpenSSH7.8より前は、RSAキーのデフォルトの公開キーフィンガープリントはMD5に基づいていたため、安全ではありません。

OpenSSHのバージョンがバージョン6.5からバージョン7.8(含む)の間にある場合は、ssh-keygen-oオプションで実行して、秘密SSHキーをよりsecureOpenSSH形式で保存します。,

GitLabで使用するRSA SSHキーペアが既にある場合は、より安全なパスワード暗号化形式を使用するためにitをアップグレードすることを検討してください。 これを行うには、次のコマンドを使用します。

ssh-keygen -o -f ~/.ssh/id_rsa

または、次のコマンドを使用して、より安全な暗号化形式で新しいRSAキーを生成できます。

ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
注iv id=”d62df70aab”に記載されていますmanページ、ed25519はすでによりsecureopenssh形式にキーを暗号化しています。,

GitLabアカウントにSSHキーを追加する

これで、作成したSSHキーをGitLabアカウントにコピーできます。 これを行うには、次の手順に従います。

  1. 公開SSHキーを、情報をテキスト形式で保存する場所にコピーします。,次のオプションは、ed25519キーの情報をクリップボードに保存します。

    macOS:

    pbcopy < ~/.ssh/id_ed25519.pub

    Linux(xclipパッケージが必要です):

    xclip -sel clip < ~/.ssh/id_ed25519.pub

    windows上のGIT BASH:

    cat ~/.ssh/id_ed25519.pub | clip

    rsaキーを使用している場合は、それに応じて置き換えます。

  2. またはローカルGitLabインスタンスURLに移動してサインインします。,
  3. 右上のアバターを選択し、[設定]をクリックします。
  4. SSHキーをクリックします。
  5. コピーした公開キーをキーテキストボックスに貼り付けます。
  6. キーに、Work Laptopやhome Workstationなど、タイトルテキストボックスにわかりやすい名前が含まれていることを確認してください。
  7. “Expires at”セクションの下にキーの(オプションの)有効期限を含めます。 (GitLab12.9で導入されました。)
  8. キーの追加ボタンをクリックします。
  9. この手順を使用して”期限切れ”になっているSSHキーは、GitLabワークフローで有効です。,GitLabで構成された有効期限はSSHキー自体に含まれていないため、必要に応じて公開SSHキーをエクスポートすることができます。注公開SSHキーを手動でコピーした場合は、ssh-ed25519(またはssh-rsa)で始まり、メールアドレスで終わるキー全体をコピーしてください。