GitHub SSH Security Changes: RSA 3072-Bit Minimum Starts October 14
GitHub announced September 22, 2026 that it is tightening SSH security in stages. Beginning October 14, newly uploaded RSA authentication and signing keys must be at least 3072 bits, while existing RSA keys can continue to work when modern clients negotiate RSA/SHA-2 signatures. GitHub also plans to remove the legacy RSA/SHA-1 ssh-rsa signature type and the diffie-hellman-group-exchange-sha256 key-exchange method, with brownouts scheduled for November 4 and December 9. The same October 14 change adds the post-quantum mlkem768x25519-sha256 key exchange on github.com and GitHub Enterprise Cloud with Data Residency except the U.S. region. GitHub's September 22 changelog currently contains an internally inconsistent final-removal year after those November/December 2026 brownouts, so do not invent a corrected date: verify the live GitHub notice before relying on the final cutoff. HTTPS Git remotes are not affected by these SSH changes.
A CI runner, deployment host or developer workstation uses SSH to connect to GitHub and may depend on an older SSH client
A team sees an ssh-rsa key label and assumes every existing RSA key must be replaced immediately
New RSA authentication or signing keys are being created ahead of GitHub's October 14, 2026 minimum-size change
A compliance or platform team needs to prepare for the November 4 and December 9 SSH brownouts without exposing private keys
Possible causes
GitHub is removing the legacy RSA/SHA-1 ssh-rsa signature type while preserving modern RSA/SHA-2 support for compatible existing keys
GitHub is raising the minimum size for newly uploaded RSA authentication and signing keys to 3072 bits beginning October 14, 2026
GitHub is retiring the diffie-hellman-group-exchange-sha256 key-exchange method and adding the hybrid post-quantum mlkem768x25519-sha256 method on supported cloud surfaces
Old SSH libraries, embedded clients or pinned cryptographic settings can fail when modern algorithms are unavailable or disabled
HOW TO FIX IT
Work from the safest step to the harder repair.
Step 1. Inventory the systems that actually connect to GitHub over SSH: developer workstations, CI runners, deployment hosts, automation accounts, submodule jobs and any appliance or library with its own SSH stack. HTTPS remotes are outside this change.
Step 2. Record each client's OpenSSH or SSH-library version and configuration. Focus remediation on clients that cannot negotiate modern RSA/SHA-2 signatures or supported key-exchange algorithms rather than rotating every key merely because its public-key line begins with ssh-rsa.
Step 3. For new keys, prefer Ed25519 when your environment supports it. When compatibility requires RSA, GitHub says RSA authentication and signing keys uploaded after October 14, 2026 must be at least 3072 bits.
Step 4. Do not paste private keys into diagnostics, tickets, chat, AI prompts or test fixtures. Key inventory should use public-key fingerprints, owner/purpose records and the responsible credential-management system.
Step 5. Update old SSH clients or libraries before the brownouts. Test the same binaries and container images used in production rather than assuming a developer laptop proves a CI runner will negotiate the same algorithms.
Step 6. Treat November 4 and December 9 as useful readiness checkpoints because GitHub announced brownouts for the retiring algorithms on those dates. A successful connection outside a brownout does not prove an obsolete client is ready for final removal.
Step 7. If automation uses deploy keys or machine-user keys, rotate deliberately through a recoverable change: add and verify the replacement, update dependent systems, confirm successful authenticated Git operations, then remove the old credential when appropriate.
Step 8. Do not require post-quantum ML-KEM support as a precondition for every client connection. GitHub's announcement adds mlkem768x25519-sha256 on supported cloud surfaces, while clients can negotiate another mutually supported modern key-exchange method.
Step 9. For GitHub Enterprise Server, verify the exact release notes for the version you operate. GitHub says most of these SSH changes arrive in 3.25, while ML-KEM support is included in 3.24; cloud dates should not be copied blindly onto a self-hosted upgrade schedule.
Step 10. Re-read GitHub's live September 22 changelog before the final retirement window. The post currently shows a final-removal year that is chronologically inconsistent with its own November and December 2026 brownouts, so this guide intentionally does not fabricate a corrected cutoff date.
Step 11. Preserve a rollback/recovery path for build and deployment systems, but do not weaken SSH policy globally as a workaround. Fix or replace the incompatible client instead of re-enabling obsolete algorithms across the estate.
Need the actual code? Go to GenesisCodeDoctor.com to search the Code Store or request code for the exact platform, error, and repair you are working on.
Keep private-key material out of logs, repositories, prompts and public tickets; use fingerprints and controlled credential records for inventory work.
Test SSH changes from the same runtime images and libraries used by CI/deployment before changing production credentials.
Preserve GitHub host verification and least-privilege key ownership while rotating automation credentials.
STOP AND GET HELP WHEN
Do not turn a repair into a larger outage.
Do not expose or upload private SSH keys while auditing compatibility.
Do not tell users that every existing RSA key must be replaced; GitHub says existing RSA keys can continue when clients negotiate modern RSA/SHA-2 signatures.
Do not silently rewrite GitHub's internally inconsistent final-removal year to 2027 without a corrected first-party source.
Do not weaken host verification or globally re-enable deprecated algorithms merely to keep an old automation client working.
Do not claim HTTPS Git remotes are affected by this SSH-specific change.
HOW GENESIS HANDLES IT
Diagnose the exact failure before choosing a repair.
Genesis separates the visible symptom from the underlying technical cause. Run the supported diagnostic first, review the evidence, and then use a matching repair only when the failure is actually verified.
Do existing RSA SSH keys stop working on October 14, 2026?
Not solely because they are RSA. GitHub says the 3072-bit minimum applies to newly uploaded RSA authentication and signing keys after October 14. Existing RSA keys can continue when the client uses modern RSA/SHA-2 signatures rather than the retiring SHA-1 ssh-rsa signature type.
Should I create a new RSA key or Ed25519 key?
GitHub recommends Ed25519 for new keys when supported. If you need RSA for compatibility, new RSA keys uploaded after October 14 must meet the 3072-bit minimum.
Are HTTPS Git remotes affected?
No. GitHub's September 22 notice describes SSH protocol changes. Repositories using HTTPS remotes are not affected by the SSH algorithm retirement.
What is the final removal date for the old SSH algorithms?
GitHub's September 22 changelog currently contains a year that is internally inconsistent with the November and December 2026 brownouts. Verify the live GitHub notice for a corrected final date rather than relying on a guessed year.
Once you know the platform and the verified problem, search the Genesis Code Doctor Code Store for a matching package. If the exact integration or repair is not there, use Request a Code and describe the platform, official documentation, desired behavior, and sanitized error—never send your secret key.
Start with a free diagnostic. If Genesis verifies a problem and a compatible treatment exists, continue to the matching Code Store product or repair path. If you cannot find the exact code you need, request it at GenesisCodeDoctor.com rather than forcing a generic snippet into the wrong platform.