Its a collection of APIs that allow programmers to implement SSH-speaking endpoints.
With the server side development at pace for Swift it is good to see so many addition for Swift.
What is SwiftNIO SSH ?
SwiftNIO SSH is a programmatic implementation of SSH. It provides the building blocks for building this kind of client and server. It can also be used for TCP forwarding.
We can point to Twisted’s Manhole, which uses a programmatic SSH implementation called conch to provide an interactive Python interpreter within a running Python server, or ssh-chat.
What is Manhole?
Manhole is an in-process service, that will accept UNIX domain socket connections and present the stack traces for all threads and an interactive prompt.
What is Conch?
Conch is an SSHv2 implementation written in Python. SSH is a protocol designed to allow remote access to shells and commands.
What does SwiftNIO SSH support?
- All session channel features, including shell and exec channel requests
- Direct and reverse TCP port forwarding
- Modern cryptographic primitives only: Ed25519 and EDCSA over the major NIST curves (P256, P384, P521) for asymmetric cryptography, AES-GCM for symmetric cryptography, x25519 for key exchange
- Password and public key user authentication
- Supports all platforms supported by SwiftNIO and Swift Crypto
References