/illustrated-ssh

The Illustrated SSH Connection: Every byte explained

Primary LanguageMakefileMIT LicenseMIT

(This project was abandoned early on, and there is currently no plan for finishing it. If you have the time and interest to do it yourself, you have my blessing!)

The Illustrated SSH Connection

Will be published at https://ssh.xargs.org

  • site/: page source for the finished product
  • server/server: server script
  • client/client: client script
  • openssh/: custom build of openssh (randomness removed)
  • openssl/: custom build of openssl (randomness removed)
  • captures/: PCAP and keylog files

Build instructions

If you'd like a working example that reproduces the exact handshake documented on the site:

git clone https://github.com/syncsynchalt/illustrated-ssh.git
cd illustrated-ssh/
cd openssl/
make
cd ../openssh/
make

Then open two terminals and run ./server in the server/ subdir and ./client-rsa or ./client-pass in the client/ subdir. The password for client-pass is secure-password.

This has been shown to work on MacOS 12 and only has a few easy-to-find dependencies: gcc or clang, make, patch, etc.