Why should this library parse .ssh/config? This is an application level library. IMO it shouldn't be reading .ssh/config at all.
come on. reimplementing crypto is way worse.
re .ssh/config: application level libraries might need it as well. one of the many grieves i have about mysql-workbench (or any other java tool that does ssh), is that i have to configure keys and hostnames in it another time. multihop does not even work in them. both is easy in .ssh/config.
If you're on a Mac and writing a desktop sandboxed GUI app, reading .ssh/config isn't even an option. Same for W8 Metro apps (if those can even contain a Node.js runtime; not sure about that).
And if you're using an ssh lib on a web site to access user-provided data using user-provided credentials, you most certainly don't need .ssh/config.
edit: to make this more clear. of course a heavily sandboxed app might not support .ssh/config. but it should not be able to read my keys as well. so i don't really see the point. a web-app is a very different thing. but node is not only about web apps anymore.
This explains the abundance of languages that can all trace their conceptual heritage to the 60s, the abundance of basically identical Javascript frameworks, web frameworks, ORMs, and so on, the majority of which IMHO should never have left the spinning rust in the original developer's machine (highly applicable to many of my own projects).
It's also one reason why the 'code cleanup guy' on a team might not be doing anyone a favour – what hard work is he avoiding by endlessly obsessing over his preferred syntactical representation for a 5 line function? etc.
I think this also relates to a youthful rejection of 'good enough' – the desire that, this time around and if only everything was all beautiful and homogenous, it's all going to be perfect.
I imagine that Node faces a similar problem with "untrusted C code".
(and btw: cryptography might take a big computational chunk. it's hard to write cpu-intensive stuff in node's callback style. but i guess the person(s) doing it will sort this out.)
It has preemptive multitasking for its "processes", but seeing as how those are all in the same Unix process, and time is allocated to them via Erlang's own virtual machine, calling out to something in C that blocks would be a problem for Erlang.
Erlang, at a basic level, is event based, and this kind of protection is necessary.
But I wouldn't be so negative, there's plenty of reasons why this might be great / a good idea. (And a lot for it to be a bad one, crypto, security, etc.)
Perhaps this is trying to help those points.