A pure dart SSH implementation based on dartssh, with bug fixes, up-to-date dependencies and sound null safety

DartSSH 2

dartssh2 is a pure dart SSH implementation based on dartssh, with bug fixes, up-to-date dependencies and sound null safety.

dartssh2 providing first-class tunnelling primitives.

Feature support

Keys Ed25519, ECDSA, RSA
KEX X25519DH, ECDH, DHGEX, DH
Cipher AES-CTR, AES-CBC
MAC MD5, SHA
Compression not yet supported
Forwarding TCP/IP, Agent
Tunneling drop-ins for Socket, WebSocket, package:http

Try

# Install the `dartssh` command.
dart pub global activate dartssh2

# Then use `dartssh` as regular `ssh` command.
dartssh user@example.com

If the dartssh command can not be found after installation, you might need to set up your path.

Quick start – SSH client

Click to see more:

import 'package:dartssh2/dartssh2.dart';
TODO

TODO

Quick start – SSH server

Click to see more:

import 'package:dartssh2/dartssh2.dart';
TODO

TODO

Example

SSH client: example/dartssh.dart

SSH server: example/dartsshs.dart

Roadmap

  • Fix broken tests
  • Sound null safety
  • Redesign API to allow starting multiple sessions. In progress…
  • SFTP

References

  • RFC 4251 The Secure Shell (SSH) Protocol Architecture
  • RFC 4252 The Secure Shell (SSH) Authentication Protocol
  • RFC 4253 The Secure Shell (SSH) Transport Layer Protocol
  • RFC 4254 The Secure Shell (SSH) Connection Protocol

Credits

https://github.com/GreenAppers/dartssh by GreenAppers

License

dartssh is released under the terms of the MIT license. See LICENSE.

GitHub

https://github.com/TerminalStudio/dartssh2