noxssh-0.1.11 is not a library.
noxssh-rs
noxssh-rs is a small SSH-2 client written in Rust. It uses cryptographic primitives from the NoxTLS crates (noxtls-crypto / noxtls-x509 from crates.io), not a third-party TLS or SSH library. The CLI and protocol scope are aligned with the C noxssh reference client.
| Language | Rust (2021 edition) |
| Default port | 22 |
| License | GPL-2.0-only or commercial license from Argenox (details) |
Features
- SSH-2 — Version exchange,
KEXINIT, Curve25519 key exchange (curve25519-sha256),NEWKEYS, transport encryption (AES-128-CTR) and HMAC-SHA256 - PQC key exchange (experimental/custom) — native ML-KEM (
mlkem768-sha256) and hybrid ML-KEM+X25519 (mlkem768x25519-sha256) negotiation/handshake paths - Password authentication —
ssh-userauthwith thepasswordmethod - Session channel — Open
sessionchannel, remote exec or interactive shell - PTY — Optional
pty-reqbefore shell (disable with-T, similar to OpenSSH) - Host key policy —
known_hostsverification: defaultask(prompt to trust new hosts on a TTY), plusstrict,accept-new(auto-add new keys), andoff - OpenSSH config compatibility (core) — supports key directives from
~/.ssh/configand-o key=valueoptions - Local forwarding —
-L [bind_port:]host:hostportvia SSHdirect-tcpip - SFTP roundtrip —
--sftp-ls <path>initializes SFTP subsystem and lists canonical path entries - Cross-platform — Linux, macOS (Intel and Apple silicon), Windows (see releases)
Requirements
- Rust toolchain 1.75 or newer (rustup)
- Git
Build from source
The binary is target/release/noxssh (on Windows, target/release/noxssh.exe).
Version strings
- Application version comes from
Cargo.toml([package].version) and is shown with-h,-V, and in help output. - NoxTLS library version shown next to it is read at build time from the locked dependency version in
Cargo.lock(seebuild.rs).
Usage
noxssh [-h] [-V] [-d|-dd|-ddd] [-T] [-p port] [-w password] [-i identity_file] [-L [bind_port:]host:hostport] [-R [bind_port:]host:hostport] [-D port] [--sftp-ls path] [--strict-host-key-checking mode] [--known-hosts path] [--connect-timeout-ms ms] [--read-timeout-ms ms] [--server-alive-interval sec] [--batch-mode] [-o key=value] [user@]host [command]
| Option | Meaning |
|---|---|
-h, --help |
Help text (includes app and NoxTLS versions) |
-V, --version |
Print application and NoxTLS versions |
-p port |
SSH port (default: 22) |
-w password |
Password on the command line (avoid in production) |
-i identity_file |
Identity file path for signed public-key auth (PEM RSA/Ed25519 PKCS#8 and OpenSSH keys, including bcrypt-encrypted AES keys; Ed25519 can derive public key when .pub is absent) |
-L [bind_port:]host:hostport |
Local forwarding tunnel (direct-tcpip) |
-R [bind_port:]host:hostport |
Remote forwarding tunnel (tcpip-forward / forwarded-tcpip) |
-D port |
Dynamic SOCKS5 local forwarding |
--sftp-ls path |
Start SFTP subsystem and print canonical path entries |
-T |
Do not request a PTY for shell mode |
-d, -dd, -ddd |
Debug verbosity (NETNOX_SSH_DEBUG for compatibility) |
--strict-host-key-checking |
strict, ask (default), accept-new, or off (also yes/no) |
--known-hosts path |
Override known_hosts file path |
--connect-timeout-ms, --read-timeout-ms |
Network timeout controls |
--server-alive-interval |
Keepalive interval in seconds |
--batch-mode |
Disable interactive prompts (including TOFU host key trust) |
-o key=value |
OpenSSH-style options (StrictHostKeyChecking, UserKnownHostsFile, ConnectTimeout, ServerAliveInterval, BatchMode, PreferredAuthentications) |
If user@ is omitted, the default username is user. Without -w, the client prompts for a password (hidden where the terminal supports it).
Examples
Run via Cargo
Project layout
noxssh-rs/
├── src/main.rs # CLI + SSH client implementation
├── build.rs # Injects NoxTLS version from Cargo.lock
├── Cargo.toml # Package version and metadata
├── LICENSE # Full GPLv2 license text
├── LICENSE.md # Dual licensing notice (GPL or commercial)
├── COPYING.md # Pointer to GPLv2 text
├── .github/workflows/ # CI release builds
└── src/ssh/ # SSH config + known_hosts modules
Security notes
- This client implements a narrow SSH profile suitable for testing and controlled environments. It does not replace a full-featured audited SSH client for every deployment.
- Prefer key-based workflows where possible;
-won the command line exposes the password in process listings and shell history. - Review server host keys and trust policies before relying on this tool in production.
License
Copyright © 2022–2026 Argenox Technologies LLC
This project is dual-licensed, in line with the NoxTLS ecosystem:
- GNU General Public License v2.0 only (GPL-2.0-only) — see
LICENSEandCOPYING.md. - Commercial license from Argenox Technologies LLC — for use that is not compatible with GPLv2, contact info@argenox.com.
The full dual-licensing explanation is in LICENSE.md.
Contact
Argenox Technologies LLC — https://argenox.com — info@argenox.com