3 ms·
Asyncssh – Python Asyncio Client/Server Implementation of SSHv2 Protocol
- eeZi 11y agoThis is pretty cool. SSH is a perfect fit for this - in common application scenarios, most time is spent waiting for the remote host. I like that is supports all of the modern ciphers (Paramiko, in particular, doesn't). It's also mostly feature-complete. Props to the author, this appears to be the work of a single guy!
- alexchamberlain 11y agoAwesome, I'd like to see more network protocols implemented natively in Python. The language implementations are getting better and better, and well, you're waiting for the network anyway... It also means the work together better: 1 event loop means it's easier to reason about the program execution when using multiple protocols together.
- Lukasa 11y agoThere's already lots of this. That's basically what Twisted is, for example.
- dom96 11y agoNice! But I wonder about the example in the readme, why the 'yield from'? Doesn't Python support 'await' as an alias for that nowadays?
- nchammas 11y ago`await` is Python 3.5+. AsyncSSH is compatible with Python 3.4+.
- deleted 11y ago[deleted]
- therein 11y agoThis is extremely useful to me. Seems like it can be used to secure communications between the server and the client without having to rely on autossh with SSH tunnels. I think this can be very useful for establishing reverse SSH connections as well. Instead of having autossh keep track of the SSH session and keep it alive, one can spin up a simple script that starts and persists the connection.
- nchammas 11y agoAs Jeff and I noted on Reddit [0], the author of AsyncSSH, Ron, is very responsive and his work is high quality. The library is already pretty feature-complete, and just last week the latest release added ssh-agent client support. [1] [0] https://www.reddit.com/r/Python/comments/41zycz/asyncssh_asynchronous_ssh_for_python/ https://www.reddit.com/r/Python/comments/41zycz/asyncssh_asy... [1] https://github.com/ronf/asyncssh/blob/master/docs/changes.rst#release-140-17-jan-2016 https://github.com/ronf/asyncssh/blob/master/docs/changes.rs...
- 131hn 11y agoGreat job ! I could not resist to think & share https://github.com/mscdex/ssh2 https://github.com/mscdex/ssh2 < SSH2 client/server implementation in nodejs (natural async flow) > piece of art
- baudehlo 11y agoMy concern with the server side of this would be a bug in OpenSSL (which I assume this uses) could give a hacker access to the memory space of all current connections, a feature the default forking servers don't have to worry about. It's a benefit that helped qmail remain secure for so long. And yet I say this as a creator of an async SMTP server, so I don't think these days it is that big of an issue.
- dijit 11y agoI checked the source and I don't see any references to openssl. that doesn't mean that it wont get pulled in as a dependency somewhere else.
- sciurus 11y agoIt uses https://cryptography.io/en/latest/ https://cryptography.io/en/latest/ , the origin of which is described at https://lwn.net/Articles/595790/ https://lwn.net/Articles/595790/ . Under the hood that uses OpenSSL.
- emmelaich 11y agoLooks great. FWIW, https://pypi.python.org/pypi/parallel-ssh https://pypi.python.org/pypi/parallel-ssh will work with Python2; also does not use threads or processes.