emSSH
Secure Shell library for protected access to embedded systems
- Enables secure remote access to server applications on embedded devices
- Configurable for minimal memory footprint and high performance on small systems
- Portable ANSI C implementation that is compiler- and target-independent

Key features
The emSSH Secure Shell software library is designed to provide secure logon to an embedded system. It shares the emCrypt cryptography library with emSSL, emSecure-RSA, and emSecure-ECDSA, which reduces ROM requirements. Its key features ensure seamless integration, ease of use, and comprehensive functionality for secure communication across devices.

Compatible with SSHv2 clients
emSSH seamlessly integrates with widely-used SSHv2 clients, ensuring interoperability across various software environments.

Secure Copy (SCP) add-on
Includes SCP support, enabling secure file transfers alongside secure shell operations, enhancing versatility in data management.

Intuitive API
Developers benefit from clear, comprehensive documentation and an intuitive API, reducing integration time and enhancing productivity.
Use cases
emSSH offers a versatile and secure solution for a variety of remote communication needs, from native computer applications to embedded systems. Its robust features and high configurability make it an ideal choice for ensuring secure connections, data provisioning, and data transfer.

Generic application
SEGGER’s emSSH provides a secure, trusted connection with remote machines, enabling users to interact with them as if they were on the same network. This capability facilitates seamless access to the remote machine's environment, including servers and infrastructure.

Data transfer
emSSH enables secure and trusted transfer of backups and log files to remote servers via SCP. As SCP is bi-directional, it enables efficient data management by allowing devices to retrieve necessary files such as firmware updates and authentication data from the server.

Add encryption to legacy application
The nature of SSH enables securing existing legacy applications by adding an SSH server between the legacy application server and the internet. Devices that shall connect with the original server now open a tunnel using an SSH client such as emSSH and use the resulting connection to communicate with the original server as if it were connected directly to the device.
Purchase information
emSSH is a comprehensive package that offers everything needed for secure communication. It includes all the necessary modules for implementing SSH functionality. Provided in source code, these modules enable complete control over the code used in the product, ensuring transparency and mitigating concerns about potential backdoors or weaknesses that cannot be inspected in precompiled libraries. This transparency allows for thorough inspection by auditors.
A simple yet powerful API makes using emSSH within a product straightforward. The package also includes sample applications in both binary and source code, demonstrating how emSSH can be integrated into real-life scenarios.

Licensing
The software is available under various embedded software license models and can be delivered as source code. All commercial licenses are based on a one-time payment, are royalty-free, and include six months of updates and support from SEGGER’s Embedded Experts.
There are no subscription fees, ensuring predictable and fixed costs over the entire product lifetime.
For non-commercial use, evaluation, and educational purposes, the software is provided under SEGGER’s Friendly License.
FAQ
What’s the difference between SSH and SSL?
SSH and SSL are completely separate protocols with very little in common beyond the use of cryptography to secure connections. SSH is designed to secure logins, whereas SSL is designed to secure connections, typically between a web server and a browser.
Related content
Get in touch with us
Have questions or need assistance? Our Embedded Experts are here to help!
Reach out to us for:
- Licensing quotes
- Technical inquiries
- Project support