apache/mina-sshd
 Watch   
 Star   
 Fork   
11 days ago
mina-sshd

Apache MINA SSHD 3.0.0-M5

This is the fifth milestone pre-release on the way to a new major version Apache MINA SSHD 3.0.0.

Like regular releases it is available in Maven Central and in the Apache repositories; the Apache source release is also at the usual location.

See the change notes for what has changed with respect to version 2.

This fifth milestone just merges 2.19.0 into 3.0, bringing in the improvements done in the 2.x main stream.

Version 3 of Apache MINA SSHD is not API compatible with version 2. API comparison reports and a (very high-level and tentative) roadmap are available on the 3.0.0 development website.

This pre-release has passed all our quality and regression tests, just like any other release. We encourage interested parties to try this pre-release. Be aware that APIs might change in future milestone pre-releases.

Full Changelog since 3.0.0-M4: https://github.com/apache/mina-sshd/compare/sshd-3.0.0-M4...sshd-3.0.0-M5

11 days ago
mina-sshd

Apache MINA SSHD 2.19.0

Bug Fixes

  • GH-899 Fix ProcessShellFactory on Linux
  • GH-902 Fix client-side handling of sk-* public key signatures (also in the agent interfaces)
  • Limit size of decompressed SSH packets
  • Improve checking SSH user certificates in public-key authentication
  • Improve handling of repository paths in sshd-git on Windows
  • Validate file names in SCP
  • Escape newlines in filenames in the SCP protocol
  • Restrict JGit commands accessible via GitPgmCommandFactory in sshd-git

Potential Compatibility Issues

Restrict JGit commands accessible via GitPgmCommandFactory in sshd-git

Bundle sshd-git contains a GitPgmCommandFactory that can be configured for an Apache MINA SSHD server. It enables remote execution of git commands via JGit.

However, running arbitrary git commands remotely is an exotic use case, and some commands (like git archive --format zip --output somefile.zip or also git clone or git checkout) could even create files on the server. This should be only allowed in an OS-level chrooted environment, which Apache MINA SSHD does not and cannot provide.

We have therefore limited the available commands to a small set of whitelisted git commands that might be useful as maintenance commands for authorized power users on a git server implemented based on sshd-git. The command are: archive, blame, branch, describe, diff, gc, log, reflog, show, and status. All these commands can be executed from an client via git --git-dir <repo> <command> <args>, where <repo> is the server-side name of the git repository (its local path on the server relative to the configured root), <command> is the command name (e.g., archive) and <args> are the command arguments. Results are sent back via the command output streams (output or error streams) and are thus sent back to the client. For the archivecommand, the --output (or -o) argument is ignored; the archive is always returned via the command's output stream and this is also sent to the client.

Applications that might have relied on the ability to run other JGit command remotely may no longer work. Either implement your own dedicated command factory to enable accesss to certain commands, or set the property GitModuleProperties.RESTRICT_COMMANDS to false on the server-side SshServer (for all sessions) or on particular ServerSessions (for particular individual sessions) to re-enable access to all commands supported by JGit.

2026-05-26 03:07:50
mina-sshd

Apache MINA SSHD 3.0.0-M4

This is the fourth milestone pre-release on the way to a new major version Apache MINA SSHD 3.0.0.

Like regular releases it is available in Maven Central and in the Apache repositories; the Apache source release is also at the usual location.

See the change notes for what has changed with respect to version 2.

This fourth milestone just merges 2.18.0 into 3.0, bringing in the improvements done in the 2.x main stream.

Version 3 of Apache MINA SSHD is not API compatible with version 2. API comparison reports and a (very high-level and tentative) roadmap are available on the 3.0.0 development website.

This pre-release has passed all our quality and regression tests, just like any other release. We encourage interested parties to try this pre-release. Be aware that APIs might change in future milestone pre-releases.

Full Changelog since 3.0.0-M3: https://github.com/apache/mina-sshd/compare/sshd-3.0.0-M3...sshd-3.0.0-M4

2026-05-25 23:48:29
mina-sshd

Apache MINA SSHD 2.18.0

Bug Fixes

  • GH-743 Ensure the Java ServiceLoader use a singleton SftpFileSystemProvider
  • GH-879 Close SSH channel gracefully on exception in port forwarding
  • Improve handling of repository paths in sshd-git.

New Features

  • GH-892 Align handling certificates without principals with OpenSSH 10.3

Wildcard principals in host certificates are handled now.

  • Putty keys with non-ASCII passphrases

The passphrase needs to be converted to a byte sequence to compute a decryption key for an encrypted private key. This conversion depends on the character encoding. Putty on Windows uses the ANSI codepage set when the key was generated. Apache MINA SSHD now tries multiple encodings in sequence: UTF-8, then the OS encoding, and finally ISO-8859-1 as a last-chance fallback.

Potential Compatibility Issues

  • GH-892 Align handling certificates without principals with OpenSSH 10.3

OpenSSH 10.3 changed the way such certificates are handled; see the OpenSSH 10.3 release notes. In Apache MINA SSHD, there is a new flag CoreModuleProperties.ALLOW_EMPTY_CERTIFICATE_PRINCIPALS (by default false) that can be set on an SshClient or SshServer or also on a Session directly. If the value is false, certificates without principals are rejected as in OpenSSH 10.3; if it is true, such certificates are considered to match any user or host name as in OpenSSH < 10.3.

Set the flag on an SshClient or ClientSession to determine the handling of host certificates. Set it on an SshServer or ServerSession to govern the handling of user certificates.

2026-03-27 06:35:23
mina-sshd

Apache MINA SSHD 3.0.0-M3

This is the third milestone pre-release on the way to a new major version Apache MINA SSHD 3.0.0.

Like regular releases it is available in Maven Central and in the Apache repositories; the Apache source release is also at the usual location.

See the change notes for what has changed with respect to version 2.

This third milestone fixes two bugs in 3.0.0-M2 and brings the improvements done in the current main 2.x version into 3.0.

Version 3 of Apache MINA SSHD is not API compatible with version 2. API comparison reports and a (very high-level and tentative) roadmap are available on the 3.0.0 development website.

This pre-release has passed all our quality and regression tests, just like any other release. We encourage interested parties to try this pre-release. Be aware that APIs might change in future milestone pre-releases.

Full Changelog since 3.0.0-M2: https://github.com/apache/mina-sshd/compare/sshd-3.0.0-M2...sshd-3.0.0-M3

2026-01-23 03:40:42
mina-sshd

Apache MINA SSHD 2.17.1

This patch release fixes the broken Maven deployment of 2.17.0. (The root pom was missing).

There were no code changes, only a pom update to work around a tooling bug that caused the problem with 2.17.0:

  • GH-875 Use Apache Parent POM 36

For the real changes since version 2.16.0 see the 2.17.0 change notes.

2026-01-14 06:35:28
mina-sshd

Apache MINA SSHD 2.17.0

See the change log.

New Contributors

Full Changelog: https://github.com/apache/mina-sshd/compare/sshd-2.16.0...sshd-2.17.0

2025-10-23 01:39:14
mina-sshd

Apache MINA SSHD 3.0.0-M2

This is the second milestone pre-release on the way to a new major version Apache MINA SSHD 3.0.0.

Like regular releases it is available in Maven Central and in the Apache repositories; the Apache source release is also at the usual location.

See the change notes for what has changed with respect to version 2.

The focus in this milestone was on the use of cryptography. Bundles sshd-common and sshd-osgi have become multi-release JARs. Apache MINA SSHD 3.0.0-M2 now supports

  • On Java11+: using Java's built-in ChaCha20 cipher for the chacha20-poly1305@openssh.com SSH cipher, which bring a hug speed-up.
  • On Java15+: using Java's built-in ed25519 private/public key implementation instead on Bouncy Castle or net.i2p.crypto:eddsa.
  • On Java24+: using Java's built-in ML-KEM post-quantum key exchange method instead of Bouncy Castle.

Version 3 of Apache MINA SSHD is not API compatible with version 2. API comparison reports and a (very high-level and tentative) roadmap are available on the 3.0.0 development website.

This pre-release has passed all our quality and regression tests, just like any other release. We encourage interested parties to try this pre-release. Be aware that APIs might change in future milestone pre-releases.

Full Changelog since 3.0.0-M1: https://github.com/apache/mina-sshd/compare/sshd-3.0.0-M1...sshd-3.0.0-M2

2025-08-30 05:59:28
mina-sshd

Apache MINA SSHD 3.0.0-M1

This is a first milestone pre-release on the way to a new major version Apache MINA SSHD 3.0.0.

Like regular releases it is available in Maven Central and in the Apache repositories; the Apache source release is also at the usual location.

See the change notes for what has changed with respect to version 2. In short, we have refactored the implementation of the SSH transport layer, which then enabled providing support for client-side proxies. In doing so we've technically broken a lot of APIs, but the impact on existing code bases using the library should be small in practice. API comparison reports and a (very high-level and tentative) roadmap are available on the 3.0.0 development website.

This pre-release has passed all our quality and regression tests, just like any other release. We encourage interested early adopters to try this pre-release. Be aware that APIs might change in future milestone pre-releases.

Full Changelog: https://github.com/apache/mina-sshd/compare/sshd-2.16.0...sshd-3.0.0-M1

2025-08-18 04:59:29
mina-sshd

Apache MINA SSHD 2.16.0

What's Changed

New Contributors

Full Changelog: https://github.com/apache/mina-sshd/compare/sshd-2.15.0...sshd-2.16.0