Skip to content

feat: Add enableLegacyCrypto flag for SSH connections#1230

Open
eduardomozart wants to merge 27 commits intognmyt:mainfrom
eduardomozart:copilot/add-enable-legacy-crypto-flag
Open

feat: Add enableLegacyCrypto flag for SSH connections#1230
eduardomozart wants to merge 27 commits intognmyt:mainfrom
eduardomozart:copilot/add-enable-legacy-crypto-flag

Conversation

@eduardomozart
Copy link
Copy Markdown
Contributor

@eduardomozart eduardomozart commented Mar 3, 2026

📋 Description

Adds an opt-in enableLegacyCrypto flag to SSH connections, enabling deprecated algorithms (ssh-dss, weak DH kex, CBC ciphers, MD5 HMACs) required by older network equipment. Disabled by default.

Backend — server/utils/jumpHostHelper.js

  • Defined ssh2Defaults (modern algorithm sets) and legacyAlgorithms (legacy sets)
  • buildSSHOptions injects legacyAlgorithms only when entryConfig.enableLegacyCrypto === true

Frontend — SettingsPage.jsx

  • Added Allow Legacy Cryptography toggle under the SSH Settings tab (guarded by config?.protocol === 'ssh')
  • Defaults to false; persisted to config.enableLegacyCrypto via the existing handleDisplaySettingChange pattern

Localization

Added servers.dialog.settings.legacyCrypto.{title,description} keys to all 11 supported locales with native translations (de, fr, es, it, pt, pt-BR, cs, ru, zh, ar)

🚀 Changes made to ...

  • 🔧 Server
  • 🖥️ Client
  • 📚 Documentation
  • 🔄 Other: ___

✅ Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have looked for similar pull requests in the repository and found none
  • This pull request does not contain translations (translations are managed through Crowdin)

🔗 Related Issues

Depends on #1229
Closes #1227

Copilot AI and others added 27 commits March 3, 2026 12:40
…n LDAPProviderDialog

Co-authored-by: eduardomozart <2974895+eduardomozart@users.noreply.github.com>
…-to-input

Add autocomplete="off" to userSearchFilter input in LDAPProviderDialog
Co-authored-by: eduardomozart <2974895+eduardomozart@users.noreply.github.com>
…T env var

Co-authored-by: eduardomozart <2974895+eduardomozart@users.noreply.github.com>
…es-to-env

Replace all hard-coded port 6989 with SERVER_PORT env var
…ices

Co-authored-by: eduardomozart <2974895+eduardomozart@users.noreply.github.com>
…across all 11 locales

Co-authored-by: eduardomozart <2974895+eduardomozart@users.noreply.github.com>
Co-authored-by: eduardomozart <2974895+eduardomozart@users.noreply.github.com>
Removed several messages related to server creation and updates, and added messages for username, password, and SSH key requirements.
…s in all 11 locales

Co-authored-by: eduardomozart <2974895+eduardomozart@users.noreply.github.com>
…lertOutline, move below Wake-On-Lan, add danger style

Co-authored-by: eduardomozart <2974895+eduardomozart@users.noreply.github.com>
…ignore

Co-authored-by: eduardomozart <2974895+eduardomozart@users.noreply.github.com>
…ption color change

Co-authored-by: eduardomozart <2974895+eduardomozart@users.noreply.github.com>
Co-authored-by: eduardomozart <2974895+eduardomozart@users.noreply.github.com>
…references-to-env"

This reverts commit 340c27f, reversing
changes made to 6f0c410.
Added support for legacy algorithms and improved filtering for SSH options based on local OpenSSL capabilities.
Remove client/package-lock.json from .gitignore
Removed autoComplete attribute from userSearchFilter input.
Added a newline at the end of the file for consistency.
Remove the trailing newline at the end of client/src/pages/Settings/pages/Authentication/components/LDAPProviderDialog/LDAPProviderDialog.jsx. No code or behavior changes; purely a file formatting/EOF adjustment.
Refactor legacy algorithm handling for SSH connections to improve support for older devices. Update crypto module import and adjust legacy algorithm definitions.
Normalize the "legacyCrypto" title to use title-case across multiple locale files for consistent UI presentation. Updated client/public/assets/locales for: cs, de, es, fr, it, pt-BR, pt, and ru.
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Mar 4, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature/Bug] Allow custom SSH algorithm configuration (Ciphers, Kex, MACs, HostKeys)

2 participants