Skip navigation

emSSH—For Your Trusted Access

  • Compatible with popular SSHv2 clients
  • Easy to understand documentation and API
  • Simple to integrate into your environment
  • Extensive and detailed manual
  • Supports popular hardware cryptography accelerators
  • Shares a common cryptography library, emCrypto, with emSSL, emSecure-RSA, and emSecure-ECDSA to reduce ROM requirements
  • No royalties

emSSH—Secure Shell

emSSH is a secure shell software library that enables a secure login into your embedded system.

Why emSSH?

emSSH offers the possibility to establish a secured connection to any server application in your product. It can be used both target independent in native computer applications, as well as in embedded targets.

  • emSSH offers a wide range of options for maximum compatibility.
  • emSSH can be configured for minimal memory footprint for small memory systems.
  • emSSH is a high quality product designed to be used easily but without limitations.
  • emSSH is not covered by an open-source or required-attribution license and can be integrated in any free, commercial, or proprietary product without the obligation to disclose the combined source.
  • emSSH is provided as source code and offers transparency for all included modules, allowing inspection by auditors.
  • emSSH is portable. The complete software is written in ANSI C and is compiler and target independent. It can be implemented in PC applications and in embedded designs.
  • emSSH is configurable. It is created for high performance and a low memory footprint. The library can be configured to fit any speed or size requirements. Unused features can be excluded, additional features can easily be added.

Buyer's Guide

emSSH is a complete package and comes with everything needed to secure communication.

It includes all modules which implement the required functionality to use SSH. They are provided in source code, to allow complete control of the code that is used in the product and create transparency to avoid worries about possible back doors or weakness in code, which cannot be checked in precompiled libraries.

emSSH comes with a simple, yet powerful API to make using emSSH in your product as simple as possible. It also includes sample applications in binary and source code which demonstrate how emSSH can be integrated in real life scenarios.

Sample Applications

emSSH is shipped with a number of examples that demonstrate simple command shells using SSH and how to integrate emSSH into your application.

For evaluation, a demo that implements a simple shell based on emSSH is available as precompiled executable for Windows.

Running emSSH demo on Windows

Open a command line window on Windows and navigate to the directory that contains the SSH_Shell5.exe application. Once there, runSSH_Shell5.exe and you should see something similar to this:

C:> SSH_Shell5.exe

(c) 2015-2017 SEGGER Microcontroller GmbH & Co. KG    www.segger.com
emSSH V2.40 - Shell5 compiled Jun  5 2017 11:52:46
putty.png

When you run this, Windows Firewall will present a dialog asking whether to grant network access to the shell application. Proceed and grant access otherwise you will not be able to log into the shell. Once the shell is waiting for a connection, you can connect using your preferred client. In this example we will use Putty. Run Putty and select a new connection to the local PC:

login as: admin

*************************************************************
* This server is powered by SEGGER emSSH.  It simply works! *
*************************************************************

admin@127.0.0.1's password:

Welcome to the emSSH command line!  Type Ctrl+D to exit.

emSSH> Hello
...Hello
emSSH>

Putty then opens up a terminal window. The server requires authentication of the user. Enter the user name “admin” with password “secret” to log on. After successful login, a shell prompt is displayed. The shell will simply echo everything typed in.

emSSH FAQs

Can I use emSSH with my product?

A: Yes. emSSH can be included in nearly every product, independent from the used target, as well as in native computer applications.

What's the difference between SSH and SSL?

A: SSH and SSL are completely separate protocols which have very little in common beyond using cryptography to secure a connection.  SSH is targeted to secure log in whereas SSL is targeted to secure connection (typically between a web server and a browser).

Do SSL and SSH share any code?

 A: SSL and SSH are completely independent sources bases.  Having said that, they share the SEGGER Cryptography Toolkit which provides cryptographic algorithm support to both.  Because they both rely on a shared component, a system with both emSSL and emSSH built into it will not pay twice for cryptographic algorithm support.

My question is not listed here. What can I do?

A: If you have any further questions about emSSL, feel free to contact us at infosegger.com