Skip to main content

Enterprise Server 3.15 は、現在リリース候補として使用できます。

インスタンスへの SSH 接続の構成

接続を確立するためにクライアントが使用できる SSH アルゴリズムを構成することで、お使いの GitHub Enterprise Server インスタンスのセキュリティを強化できます。

この機能を使用できるユーザーについて

Site administrators can configure SSH connections to a GitHub Enterprise Server instance.

インスタンスへの SSH 接続について

各 GitHub Enterprise Server インスタンスは、2 つ以上のポートの SSH 接続を受け入れます。 サイト管理者は、SSH を使用して管理シェルにアクセスし、コマンド ライン ユーティリティを実行し、トラブルシューティングを行い、メンテナンスを実行できます。 ユーザーは SSH 経由で接続して、インスタンスのリポジトリ内の Git データにアクセスして書き込むことができます。 ユーザーには、インスタンスへのシェル アクセス権がありません。 詳細については、次の記事を参照してください。

環境内の SSH クライアントに対応するために、お使いの GitHub Enterprise Server インスタンスで受け入れる接続の種類を構成できます。

RSA キーを使用した SSH 接続の構成

ユーザーがポート 22 経由で SSH により お使いの GitHub Enterprise Server インスタンスに対して Git 操作を実行する場合、クライアントは RSA キーを使用して認証できます。 クライアントは、SHA-1 ハッシュ関数を使用して試行に署名できます。 このコンテキストでは、SHA-1 ハッシュ関数はセキュリティで保護されなくなりました。 詳細については、Wikipedia の「SHA-1」を参照してください。

既定では、次の両方の条件を満たす SSH 接続は失敗します。

  • RSA キーは、2022 年 8 月 1 日午前 0 時 (UTC) の期日後に、お使いの GitHub Enterprise Server インスタンス のユーザー アカウントに追加されました。
  • SSH クライアントでは、SHA-1 ハッシュ関数を使用して接続試行に署名します。

カットオフ日を調整できます。 ユーザーがカットオフ日より前に RSA キーをアップロードした場合、キーが有効である限り、クライアントは引き続き SHA-1 を使用して正常に接続できます。 または、クライアントが SHA-1 ハッシュ関数を使用して接続に署名する場合、RSA キーを使用して認証されたすべての SSH 接続を拒否できます。

インスタンスに対して選択した設定に関係なく、引き続きクライアントは、SHA-2 ハッシュ関数で署名された RSA キーを使用して接続できます。

SSH 証明機関を使用する場合に、証明書の valid_after 日付がカットオフ日より後であれば、接続は失敗します。 詳しくは、「SSH認証局について」を参照してください。

詳細については、the GitHub Blogを参照してください。

  1. お使いの GitHub Enterprise Server インスタンス に SSH で接続します。 インスタンスが複数のノードで構成されている場合は (高可用性や geo レプリケーションが構成されている場合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する場合は、任意のノードに SSH 接続できます。 HOSTNAME をインスタンスのホスト名、またはノードのホスト名または IP アドレスに置き換えます。 詳しくは、「管理シェル (SSH) にアクセスする」を参照してください。

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. ghe-find-insecure-git-operations ユーティリティを使用して、セキュリティで保護されていないアルゴリズムまたはハッシュ関数を使用する接続に対して、インスタンスのログを監査します。 詳しくは、「コマンド ライン ユーティリティ」を参照してください。

  3. 接続が SHA-1 ハッシュ関数によって署名されている場合に、カットオフ日を構成して、その日付の後にアップロードされた RSA キーを使用するクライアントからの接続を お使いの GitHub Enterprise Server インスタンスで拒否するようにするには、次のコマンドを入力します。 RFC-3399-UTC-TIMESTAMP を有効な RFC 3399 UTC タイムスタンプに置き換えます。 たとえば、既定値の 2022 年 8 月 1 日は 2022-08-01T00:00:00Z のように表されます。 詳細については、IETF Web サイトの「RFC 3339」を参照してください。

    $ ghe-config app.gitauth.rsa-sha1 RFC-3339-UTC-TIMESTAMP
    
  4. または、SHA-1 ハッシュ関数で署名された RSA キーを使用して SSH 接続を完全に無効にするには、次のコマンドを入力します。

    ghe-config app.gitauth.rsa-sha1 false
    
  5. 構成を適用するには、次のコマンドを実行します。

    : 構成の実行中に、お使いの GitHub Enterprise Server インスタンス 上のサービスが再起動する可能性があり、これによりユーザーに短時間のダウンタイムが発生する場合があります。

    Shell
    ghe-config-apply
    
  6. 設定の実行が完了するのを待ってください。