Overview of DartSSH 2 features
mainDartSSH 2 is a pure Dart SSH and SFTP client designed to run on the Dart VM, Flutter, and the web. Key capabilities include:
- SSH Session Management: Execute commands, spawn shells, set environment variables, and use pseudo-terminals.
- Authentication: Supports password, in-memory private keys (
SSHKeyPair), external asynchronous identities (SSHIdentityfor Secure Enclave, YubiKey/FIDO2, smart cards, OS agents), public-key probing (RFC 4252 §7.8), hostbased authentication (RFC 4252 §9), and keyboard-interactive authentication. - Forwarding: Supports local, remote, and dynamic forwarding (SOCKS5 CONNECT).
- SFTP: Full support for the SFTPv3 protocol, including upload, download, list, link, remove, and rename operations.
- Performance: Uses non-blocking key exchange by offloading heavy calculations (X25519, NIST Curves, DH) to background isolates on supported VM platforms to prevent UI freezing.