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';
Quick start – SSH server
Click to see more:
import 'package:dartssh2/dartssh2.dart';
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 ArchitectureRFC 4252
The Secure Shell (SSH) Authentication ProtocolRFC 4253
The Secure Shell (SSH) Transport Layer ProtocolRFC 4254
The Secure Shell (SSH) Connection ProtocolRFC 4255
Using DNS to Securely Publish Secure Shell (SSH) Key FingerprintsRFC 4256
Generic Message Exchange Authentication for the Secure Shell Protocol (SSH)
Contribute on GitHub
Provides the list of the opensource Flutter apps collection with GitHub repository.