Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

intothevoid/sshserver

Open more actions menu

Repository files navigation

ksshserver

Implementation of a SSH server in C# This should cover basic functionality and encryption but not the advanced features of a full blown SSH server. The idea is to cover atleast one algorithm of each type from the list of required algorithms for a client. The client in this case being Putty supporting SSH-2.0. Based on the idea by TyrenDe.

Algorithms (to be) supported by this server -
key exchange - diffie-hellman-group14-sha1
host key algorithm - ssh-rsa
encryption - 3des-cbc
mac algorithm - hmac-sha1
compression - none


Packet Protocol (https://tools.ietf.org/html/rfc4253)

uint32 packet_length
byte padding_length
byte[n1] payload; n1 = packet_length - padding_length - 1
byte[n2] random padding; n2 = padding_length
byte[m] mac (Message Authentication Code - MAC); m = mac_length


Changelog

0.1

  • Added ability to listen for incoming connections and manage connections

0.2

  • Added multiple client management

0.3

  • Read protocol exchange string from client

0.4

  • Read key exchange packet (*broken)

0.5

  • Read key exchange packet working

0.6

  • Added support for cipher, mac, keyhost and encryption algorithms

About

Implementation of a SSH server in C#

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.