This website is using cookies. We use cookies to ensure that we give you the best experience on our website. More info. That's Fine
HPC:Factor Logo 

CESSH 0.0.2 Alpha

Open Source
Open SSH for Windows CE
You must be registered and logged into HPC:Factor in order to contribute to the SCL.


SSH is a set of standards and an associated network protocol that allows establishing a secure channel between a local and a remote computer. It uses public-key cryptography to authenticate the remote computer and (optionally) to allow the remote computer to authenticate the user. SSH provides confidentiality and integrity of data exchanged between the two computers using encryption and message authentication codes (MACs). SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports; it can transfer files using the associated SFTP or SCP protocols. It’s described in the following RFCs :

The Secure Shell (SSH) Transport Layer Protocol (RFC 4253)
The Secure Shell (SSH) Authentication Protocol (RFC 4252)
The Secure Shell (SSH) Protocol Architecture (RFC 4251)

In other word, what it basically does is provide a secure telnet, a secure FTP and a secure tunnelling feature. Secure means that the user is authenticated and that the data exchanges are encrypted.

SSH server for windows CE currently supports the following feature:

Remote shell
Remote program execution
Secure FTP (SFTP)
Secure Copy (SCP)
Port Forwarding

The SSH server for Windows CE is based on OpenSSH v4.3 originally developed by Tatu Ylonen for BSD.
Two reasons for this :

OpenSSH server is the most popular SSH server on the internet.
OpenSSH is open-source and known to be portable (on various unix-flavored OS though)
OpenSSH already support all the features that a SSH server can have.

Of the 2 versions of the SSH protocol, the SSH server for Windows CE supports only the latest (SSH2) because it's the most commonly supported.

There is currently no support for a home directory per user in this SSH server.
In the OpenSSH software the user's keys are stored in user folder or handled by the system. Since Windows CE doesn't offer such a feature, and becauise this software doesn't implement it (not yet) the keys (and other files) are the same for everyone.

Consequences :

public keys are global for every user.

Installation Instructions

1. copy the files to your windows CE device, suppose "\ssh"
2. mkdir "\Hard Disk"
3. copy sshd_config "\Hard Disk"
4. mkdir "\NandFlash"
5. mkdir "\NandFlash\ssh"
6. copy ssh_host_dsa_key to "\NandFlash\ssh"
7. run "adduser.exe root rootpass" to add the user "root" with password "rootpass"
8. copy SocketToFile.DLL to \windows
9. run "sshd.exe"
10. test

To make it work over ActiveSync, use the remote port tunnel in putty.


This project is designed to be integrated within Platform builder.
Although it is possible to built it with EVC++ or Visual Studio, we do not provide workspaces for this.

Get the source code from CodePlex
Copy the SSH folder in the BSP directory
Change the folowwing settings top match your platform :
Change the path in SSH\ssh.cmn accordingly. Example : SSHPROJECTROOT_DIR = c:\wince500\platform\myBSP\SSH
Change the path of the configuration files in SSH/SSHD/includes/pathnames.h to match the default directory for your platform. Example : #define SSHDIR /Hard Disk/SSH (That's the directory (on the device) where the server will look for its config files.) This path can be overriden in the registry (HKEY_LOCAL_MACHINE\COMM\SSHD "SSHROOTDIR"="\MY\New\PATH").
Add the CryptoAPI component in PB workspace
Compile it (it takes some time to compile SSL library)

you need to create the directory where SSH is going to find its configuration and some other files (/Hard Disk/SSH in our previous example)
you need to create configuration files for your server. They're the same as the OpenSSH config files except for a few unsupported keywords. sshd_config
you need to create a DSA key for your server. ssh_host_dsa_key
Launch the server (execute sshd program)

Note : when running in debug, you may encounter a debugchk in the _open function. It's here only to alert the developper on the fact that he/she must be careful when using the return value of this function.

You need to have the CryptoAPI component in your Windows CE image


ShellSSHOpen SourceSFTPSCPServiceRemote Execution

License Open Source
The program is open source, free and the source code is available on-line.
Website http://www.adeneo-embedded.com/
Not working? Try this website on the WayBack Machine
Popularity 1208
Total Downloads  31
Submitted By C:Amie
Submitted On 24 June 2019


No comments have been submitted against this application. Be the first!

You must be signed-in to post comments in the SCL. Not registered? Join our community.

Software Compatibility List: The SCL is provided for free to the Handheld PC Communty and we do not carry advertising to support our services. If you have found the SCL useful, please consider donating.