使用可能なSSHキーテクノロジーと最小長さの制限

ssh-keygen を使うと、ユーザーは768ビットという少ないビット数でRSA鍵を作成することができます。これは、特定の標準化グループ(米国のNISTなど)が推奨する鍵長を大きく下回るものです。GitLabをデプロイしている組織によっては、内部セキュリティポリシーを満たすため、あるいは規制遵守のために、最小限の鍵強度を強制する必要があります。

同様に、特定の標準化グループは古いDSAよりもRSA、ECDSA、ED25519、ECDSA_SK、ED25519_SKの使用を推奨しており、管理者は許可されるSSHキーアルゴリズムを制限する必要があるかもしれません。

GitLabでは、許可されるSSHキーテクノロジーを制限したり、各テクノロジーで最小のキー長を指定したりすることができます:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. 左サイドバーで、設定 > 一般を選択します。
  4. 可視性とアクセス制御] セクションを展開します:

    SSH keys restriction Admin Area settings

鍵タイプに制限が課された場合、ユーザーはその要件を満たさない新しいSSH鍵をアップロードできません。制限を満たさない既存の鍵は無効化されますが削除はされず、ユーザーはその鍵を使用してコードをプルまたはプッシュすることはできません。

制限された鍵のユーザーには、プロフィールの SSH 鍵セクションにアイコンが表示されます:

Restricted SSH key icon

このアイコンにカーソルを合わせると、その鍵がなぜ制限されているかがわかります。

デフォルト設定

デフォルトでは、GitLab.comとセルフマネージドでサポートされているキータイプの設定は以下のようになっています:

  • RSA SSHキーが許可されています。
  • DSA SSHキーは禁止されています(GitLab 11.0以降)。
  • ECDSA SSHキーは許可されています。
  • ED25519 SSH キーの使用が許可されています。
  • ECDSA_SK SSHキーが使用できます(GitLab 14.8以降)。
  • ED25519_SK SSHキーが使えます(GitLab 14.8以降)。

禁止または危殆化した鍵をブロック

ユーザーがGitLabアカウントに新しいSSHキーを追加しようとすると、そのキーは漏洩が確認されているSSHキーのリストと照合されます。ユーザーはこのリストからどのGitLabアカウントにも鍵を追加できません。この制限は設定できません。この制限が存在するのは、鍵ペアに関連付けられた秘密鍵が公開されており、その鍵ペアを使用してアカウントにアクセスできるためです。

鍵がこの制限によって許可されない場合は、代わりに新しいSSHキーペアを生成してください。