ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。
記事のバージョン: Enterprise Server 2.14

このバージョンの GitHub Enterprise はこの日付をもって終了となります: このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2019-07-12. 重大なセキュリティ上の問題があっても、パッチはリリースされなくなります。優れたパフォーマンス、改善されたセキュリティ、そして新しい機能のために、GitHub Enterprise の最新バージョンにアップグレードしてください。 アップグレードに関するヘルプについては、GitHub Enterprise Support に連絡してください。

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

アプライアンスでSSLの問題が生じたなら、解決のためのアクションを取ってください。

このガイドの内容

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

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

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

    $ openssl rsa -in yourdomain.key.orig -out yourdomain.key

このコマンドを実行すると、鍵のパスフレーズが求められます。

OpenSSL に関する詳しい情報については OpenSSLのドキュメンテーション を参照してください。

SSL証明書あるいは鍵の PEM フォーマットへの変換

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

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

あるいは SSL Converter ツールを使って証明書を PEM フォーマットに変換することもできます。 詳しい情報については [SSL Converter ツールのドキュメンテーション](https://www.sslshopper.com/ssl-converter.html)を参照してください。

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

SSL 鍵のアップロード後に GitHub Enterprise Server インスタンス の反応がない場合、SSL 証明書のコピーを含む詳細事項と合わせて [GitHub Enterprise Support に連絡](https://enterprise.github.com/support)してください。

### 証明書の検証エラー

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

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

<pre><code class="hljs language-shell">$ cat yourdomain.com.crt bundle-certificates.crt > yourdomain.combined.crt</code></pre>

証明書バンドル (たとえば `bundle-certificates.crt`) は、証明書認証局もしくは SSL のベンダーからダウンロードできるはずです。

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

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

1. CA のルート証明書をローカルの証明書認証局から取得し、それが PEM フォーマットになっていることを確認してください。
2. そのファイルを GitHub Enterprise Server アプライアンスにポート 122 の SSH 経由で "admin" ユーザとしてコピーしてください。

  <pre><code class="hljs language-shell">$ scp -P 122 rootCA.crt admin@HOSTNAME:/home/admin</code></pre>

3. GitHub Enterprise Server の管理シェルにポート 122 の SSH 経由で "admin" ユーザとして接続します。

  <pre><code class="hljs language-shell">$ ssh -p 122 admin@HOSTNAME</code></pre>

4. 証明書をシステム全体の証明書ストアにインポートします。

  <pre><code class="hljs language-shell">$ ghe-ssl-ca-certificate-install -c rootCA.crt</code></pre>

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください