I know you might be thinking ¬
“Why make another SSH daemon wrapper when there already exists many like
sshex
andesshd
??”
Well, great question…
While there are great SSHd libraries out there, we hadn’t found one that fit all the needs of a Nerves device or it had more than is needed which added complicated overhead. We also had pretty strict requirements on :sshd
handling to harden devices and ensure they can recover from SSH failures.
This led to developing a simple SSH module that, over time, was copy/pasted from project to project to handle this Nerves use-case until it was finally decided that we should iterate and turn it into a library, scoped specifically to the context and use of Nerves, for all to enjoy .
For more details about NervesSSH
, check out the documentation