Documentation
Open Source Release Policy
Export Compliance
Using BouncyCastle
Installing the API
Enabling Logging
Per-Connection Logging
Third Party Dependencies
Generating SSH Keys
Using BouncyCastle
Using SSH Public Keys in Java
Supporting ED25519/Curve25519
Supporting Compression
Integrating Licensing into Maven Builds
Creating an SSH Client
Public Key Authentication
Keyboard Interactive Authentication
Public Key Authentication with sshagent
Executing Single Commands
Executing Commands within a Shell
Transferring Files
Connecting through Proxies
Display the Authentication Banner
Using the SFTP Client
Port Forwarding
Working Examples
Configuring Listening Interfaces
Configuring Host Keys
Password Authentication
Public Key Authentication
Challenge-Response Authentication
Configuring Port Forwarding
Configuring SFTP
Supporting SCP
Implementing your own File System
Creating an Interactive Terminal
Proxy Protocol Support
Supporting ed25519 keys and curve25519-sha256 key exchange
Introduction
Support for ssh-ed25519 and curve25519 differs depending on the Maverick Synergy and Java version used.
Early Versions (3.0.0-SNAPSHOT)
The Maverick Synergy SSH API has a module that supports ed25519 public keys and the curve25519-sha256@libssh.org key exchange mechanism.
The core API libraries have zero third-party dependencies; as support for these algorithms is provided by third-party libraries, we do not impose this choice on the user. If you include these algorithms, you can include the maverick-ed25519 module.
Current Versions
The maverick-ed25519 module was replaced when we implemented ed25519 support using JCE standard interfaces. Support for ed25519 depends on the version of Java you are using. Java 15 introduced ed25519 key support; if you use a version earlier than this, you should consider using a third-party JCE such as BouncyCastle, which supports ed25519.
Curve25519 uses a public domain implementation included in our source and built into the core jar files.