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.mountをtrueに設定します。 - GitLabセルフマネージドインスタンスで、ホストキーの
/etc/sshディレクトリを確認します。
一般的なSSHのトラブルシューティング
前のセクションで問題が解決しない場合は、詳細モードでSSH接続を実行します。詳細モードでは、接続に関する有用な情報が返されることがあります。
SSHを詳細モードで実行するには、次のコマンドを使用し、gitlab.example.comをGitLabインスタンスのURLに置き換えます:
ssh -Tvvv git@gitlab.example.com