正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

SSHのトラブルシューティング

SSHキーを使用する場合、以下の問題が発生することがあります。

TLS: サーバーから8192ビットより大きいRSAキーを含む証明書が送信されました

GitLab 16.3バージョン以降、Go言語はRSAキーを最大8192ビットに制限します。キーの長さを確認するには、次のようにします:

openssl rsa -in <your-key-file> -text -noout | grep "Key:"

8192ビットより長いキーは、より短いキーに置き換えてください。

git cloneを使用したパスワードプロンプト

git cloneを実行すると、git@gitlab.example.com's password:のようなパスワードの入力を求められる場合があります。これは、SSHの設定に問題があることを示しています。

  • SSHキーペアが正しく生成されていることと、公開SSHキーがGitLabプロファイルに追加されていることを確認してください。
  • SSHキーの形式が、サーバーOSの設定と互換性があることを確認してください。たとえば、ED25519キーペアは、FIPSシステムでは動作しない場合があります。
  • ssh-agentを使用して、プライベートSSHキーを手動で登録してみてください。
  • ssh -Tv git@example.comを実行して接続をデバッグしてみてください。example.comをGitLab URLに置き換えます。
  • Microsoft WindowsでSSHを使用するのすべての手順に従っていることを確認してください。
  • GitLab SSHの所有権と権限を確認するがあることを確認します。複数のホストがある場合は、すべてのホストで権限が正しいことを確認してください。

Could not resolve hostnameエラー

接続できることの確認時に、次のエラーが表示されることがあります:

ssh: Could not resolve hostname gitlab.example.com: nodename nor servname provided, or not known

このエラーが表示された場合は、ターミナルを再起動して、コマンドをもう一度実行してください。

Key enrollment failed: invalid formatエラー

FIDO2ハードウェアセキュリティキーのSSHキーペアを生成するときに、次のエラーが表示されることがあります:

Key enrollment failed: invalid format

これは、次の方法でトラブルシューティングできます:

  • ssh-keygenコマンドをsudoで使用して実行します。
  • FIDO2ハードウェアセキュリティキーが、指定されたキータイプをサポートしていることを確認します。
  • ssh -Vを実行して、OpenSSHのバージョンが8.2以上であることを確認します。

エラー: SSH host keys are not available on this system.

GitLabがホストSSHキーにアクセスできない場合、gitlab.example/help/instance_configurationにアクセスすると、インスタンスのSSHフィンガープリントの代わりに、SSHホストキーのフィンガープリントヘッダーの下に次のエラーメッセージが表示されます:

SSH host keys are not available on this system. Please use ssh-keyscan command or contact your GitLab administrator for more information.

このエラーを解決するには:

  • Helmチャート (Kubernetes) デプロイメントでは、values.yamlを更新して、webserviceセクションのsshHostKeys.mounttrueに設定します。
  • GitLabセルフマネージドインスタンスで、ホストキーの/etc/sshディレクトリを確認します。

一般的なSSHのトラブルシューティング

前のセクションで問題が解決しない場合は、詳細モードでSSH接続を実行します。詳細モードでは、接続に関する有用な情報が返されることがあります。

SSHを詳細モードで実行するには、次のコマンドを使用し、gitlab.example.comをGitLabインスタンスのURLに置き換えます:

ssh -Tvvv git@gitlab.example.com