youtube image
From YouTube: Pierre-Étienne Meunier - Building SSH servers in minutes

Description

Thrussh is an SSH library for writing both clients and servers. It grew out of the need for a specialised SSH server, with very limited default permissions.

Thrussh uses Tokio, which allows it to be combined with other protocols easily, and asynchronously. Current projects using it include nest.pijul.com (not yet fully public, sorry), where SSH is used to push and pull Pijul patches to repositories hosted there, and authentication is just a matter of checking a public key in an PostgreSQL database.

Now, why would anyone want to write such a library? Well, I’ll try to show why Rust convinced me that this was a good idea:

- easy code reviews and collaboration (newcomers are not very likely to break stuff when trying, as opposed to C).
- limited time required to build efficient stuff.
- forced pattern matching and types everywhere: it might walk like an encrypted connection and quack like an encrypted connection, yet be a standard one.
- forward-compatibility with the ecosystem: this code transitioned from one backend for asynchronous IO to another, more high-level one. The transition to a first working version took only a few hours.

Pierre-Étienne Meunier
https://twitter.com/pe_meunier
https://github.com/P-E-Meunier
https://users.rust-lang.org/users/pmeunier/activity