Skip to main content

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

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

Who can use this feature

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. 接続が SHA-1 ハッシュ関数によって署名されている場合に、カットオフ日を構成して、その日付の後にアップロードされた RSA キーを使用するクライアントからの接続を your GitHub Enterprise Server instanceで拒否するようにするには、次のコマンドを入力します。 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. 構成を適用するには、次のコマンドを入力します。

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

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