@microsoft/dev-tunnels-ssh

3.11.38 • Public • Published

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 module. When running in a browser it uses the 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.

Readme

Keywords

Package Sidebar

Install

npm i @microsoft/dev-tunnels-ssh

Weekly Downloads

9,330

Version

3.11.38

License

MIT

Unpacked Size

1.14 MB

Total Files

279

Last publish

Collaborators

  • taiyosogawa
  • microsoft1es
  • devtunnels
  • debekoe-msft