On this page:
SSH:   The Secure Shell Protocol

SSH: The Secure Shell Protocol


The secure shell (SSH) Protocol is a protocol for secure remote login and other secure network services over an insecure network.

This document describes a full-featured client-side and server-side library named λsh implementing the SSH protocol that wrote in Typed Racket along with minimal C extensions.

λsh does not reply on [OpenSSH] and [OpenSSL], nor plan to stick with them. They are referenced here for parts of their sources and interoperability tests.

Warning: Meanwhile, λsh is far away from full-featured and may not work accurately. Everything therefore is subject to change.

📚 Behaviors of ssh

No particular sample!

    1 SSH Protocol Walkthrough

      1.1 The Secure Shell Protocol Architecture

        1.1.1 Data Type Representation

        1.1.2 Host Key Algorithms

        1.1.3 Confidentiality

        1.1.4 Data Integrity Algorithms


      1.2 The Secure Shell Authentication Protocol

        1.2.1 Authentication Requests

        1.2.2 Authorized_keys


      1.3 The Secure Shell Transport Layer Protocol

        1.3.1 Identification String

        1.3.2 Additional Messages


    2 Confidentiality: Encryption and Decryption Algorithms

      2.1 Advanced Encryption Standard (AES)

        2.1.1 Key Expansion Examples

        2.1.2 Cipher Example

        2.1.3 Example Vectors

        2.1.4 Real world example in CTR mode


      2.2 The Blowfish Encryption Algorithm

        2.2.1 Generate Subkeys

        2.2.2 Test Vectors

        2.2.3 Chain mode Test

        2.2.4 ENC Cell Permit Examples