# @microsoft/dev-tunnels-ssh

> SSH library for Dev Tunnels

Latest version **3.12.42** (published 2026-08-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install @microsoft/dev-tunnels-ssh
pnpm add @microsoft/dev-tunnels-ssh
yarn add @microsoft/dev-tunnels-ssh
bun add @microsoft/dev-tunnels-ssh
```

## Health

**Score 60/100 (C)** — status: active.

Positive: has types; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 3.12.42 |
| Published | 2026-08-24 |
| First published | 2022-09-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 1.1 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Microsoft |
| Maintainers | microsoft1es, microsoft-oss-releases, debekoe-msft, devtunnels |
| Keywords | SSH |

## Links

- npm: https://www.npmjs.com/package/@microsoft/dev-tunnels-ssh
- Repository: https://github.com/microsoft/dev-tunnels-ssh
- Homepage: https://github.com/microsoft/dev-tunnels-ssh#readme
- Issues: https://github.com/microsoft/dev-tunnels-ssh/issues
- npm.io page: https://npm.io/package/@microsoft/dev-tunnels-ssh

## Dependencies (4)

- [debug](https://npm.io/package/debug.md) ^4.1.1
- [buffer](https://npm.io/package/buffer.md) ^5.2.1
- [diffie-hellman](https://npm.io/package/diffie-hellman.md) ^5.0.3
- [vscode-jsonrpc](https://npm.io/package/vscode-jsonrpc.md) ^4.0.0

## Recent versions

- 3.12.42 (latest) — 2026-08-24
- 3.12.40 — 2026-07-29
- 3.12.36 — 2026-06-11
- 3.12.29 — 2026-05-01
- 3.12.22 — 2026-03-31
- 3.12.12 — 2025-08-20
- 3.12.5 — 2024-09-26
- 3.11.38 — 2024-04-10
- 3.11.36 — 2023-12-20
- 3.11.35 — 2023-12-15
- 3.11.34 — 2023-12-14
- 3.11.33 — 2023-10-27
- 3.11.31 — 2023-10-05
- 3.11.26 — 2023-08-29
- 3.11.25 — 2023-08-28
- … 29 more at https://npm.io/package/@microsoft/dev-tunnels-ssh/versions

## README

# Dev Tunnels SSH Library
A Secure Shell (SSH2) client and server protocol implementation for Node.js
and browser environments.

## Feature Highlights
 - SSH over any JavaScript stream (including but not limited to Node.js
 TCP sockets and browser websockets)
 - Configurable, extensible, negotiated algorithms for key-exchange, encryption,
   integrity (HMAC), and public-key authentication
 - Channel multiplexing, with ability to stream data to/from channels
 - Piping between two sessions can relay all channels and port-forwarding
 - Extensible channel request handling (for "exec", "shell", or custom requests)
 - Supports reconnecting a disconnected session without disrupting channel streams.
 - Compatible with common SSH software. (Tested against OpenSSH.)

### Limitations
The following features are not implemented in typescript implementation yet, and we have
plans to implement the same:
- Async processing of messages and ability to send one message before receiving response
  for a previous one.

## Requirements
The TypeScript implementation supports either Node.js (>= 14.x) or a
browser environment. When running on Node.js, it uses the Node.js built-in
[crypto](https://nodejs.org/api/crypto.html) module. When running in a browser
it uses the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API),
which is supported by all modern browsers. However note that since script on
a web page cannot access native TCP sockets, the standard use of SSH over
TCP is not possible; some other stream transport like a websocket may be used.

## Packages
The optional `dev-tunnels-ssh-tcp` and `dev-tunnels-ssh-keys` depend on the core `dev-tunnels-ssh` package.

---
_Source: https://npm.io/package/@microsoft/dev-tunnels-ssh · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
