Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

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

アプライアンスで TLS の問題が生じた� �合は、解決のためのアクションを取ってく� さい。

鍵ファイルからのパスフレーズの除去

OpenSSLがインストールされたLinuxマシンを使うなら、パスフレーズを除去できます。

  1. オリジナルの鍵ファイルの名前を変えてく� さい。
    $ mv yourdomain.key yourdomain.key.orig
  2. パスフレーズなしで新しい鍵を生成してく� さい。
    $ openssl rsa -in yourdomain.key.orig -out yourdomain.key

このコマンドを実行すると、鍵のパスフレーズを入力するようプロンプトが表示されます。

OpenSSL の詳細については、OpenSSL のドキュメントを参照してく� さい。

TLS 証明書または TLS キーを PEM 形式に変換する

OpenSSL をインストールしている� �合、openssl コマンドを使ってキーを PEM 形式に変換できます。 たとえば鍵を DER フォーマットから PEM フォーマットに変換できます。

$ openssl rsa -in yourdomain.der -inform DER -out yourdomain.key -outform PEM

あるいは SSL Converter ツールを使って証明書を PEM フォーマットに変換することもできます。 詳細については、SSL Converter ツールのドキュメントを参照してく� さい。

鍵のアップロード後の反応のない環境

TLS キーのアップロード後に が応答しない� �合は、GitHub Enterprise サポートに連絡して、TLS 証明書のコピーを含む具体的な詳細を伝えてく� さい。 秘密キーが 含まれていない ことを確認します。

証明書の検証エラー

Web ブラウザーやコマンドラインの Git などのクライアントでは、TLS 証明書の有効性を検証できないと、エラー メッセージが表示されます。 これはしばしば自己署名証明書の� �合や、クライアントが認識しない中間ルート証明書から発行された "チェーンドルート" 証明書の� �合に生じます。

証明書認証局 (CA) によって署名された証明書を使っている� �合は、GitHub Enterprise Server にアップロードする証明書ファイルには CA のルート証明を持つ証明書チェーンが含まれていなければなりません。 そのようなファイルを作成するには、証明書チェーン全体 (「証明書バンドル」とも呼ばれます) を証明書の終わりにつなげ、プリンシパル証明書の先� �にホスト名が来るようにしてく� さい。 ほとんどのシステ� では、以下のようなコマンドでこの処理を行えます:

$ cat yourdomain.com.crt bundle-certificates.crt > yourdomain.combined.crt

証明機関または TLS ベンダーから証明書バンドル (bundle-certificates.crt など) をダウンロードできるはずです。

自己署名もしくは信� �されない証明書認証者(CA)ルート証明書のインストール

GitHub Enterprise Server アプライアンスが、自己署名もしくは信� �されない証明書を使うネットワーク上の他のマシンとやりとりするのであれば、それらのシステ� に HTTPS でアクセスできるようにするために、署名をした CA のルート証明書をシステ� 全体の証明書ストアにインポートしなければなりません。

  1. CA のルート証明書をローカルの証明書認証局から取得し、それが PEM フォーマットになっていることを確認してく� さい。
  2. そのファイルを GitHub Enterprise Server アプライアンスにポート 122 の SSH 経由で "admin" ユーザとしてコピーしてく� さい。
    $ scp -P 122 rootCA.crt admin@HOSTNAME:/home/admin
  3. GitHub Enterprise Server の管理シェルにポート 122 の SSH 経由で "admin" ユーザとして接続します。
    $ ssh -p 122 admin@HOSTNAME
  4. 証明書をシステ� 全体の証明書ストアにインポートします。
    $ ghe-ssl-ca-certificate-install -c rootCA.crt

TLS 証明書の更新

ghe-ssl-certificate-setup コマンド ライン ユーティリティを使用して、 の新しい自己署名証明書を生成したり、既存の TLS 証明書を更新したりできます。 詳細については、「コマンド ライン ユーティリティ」を参照してく� さい。