Hyperssh

A utility to facilitate SSH operations via the HyperDHT.

GitHub (Hyperssh)

Installation

Install with npm:

npm install -g hyperssh // ssh / fuse client stubs
npm install -g hypertele // hyperswarm server proxy
npm install -g hyper-cmd-utils // keygen utils

Basic usage

On a server or a machine running an ssh-server, run:

hyper-cmd-util-keygen --gen_seed
-> SEED

hypertele-server --seed SEED -l 22
-> PEER_KEY

This will start announcing the server on the DHT and will display the Noise Public Key of the server.

To connect to the server from another machine, pass the keypair to the hyperssh command, along with an optional username:

hyperssh -s ab01f... -u maf
hyperssh -s ab01f... -u maf -i keypair.json

There is no need to remember hostnames any more.

Under the hood, Hyperswarm performs UDP holepunching. So the server should be accessible even if it is located on a home network. Refer to identity management for more information.

Windows RDP

Hyperssh can also be used with Windows RDP to remotely log in to Windows machines over Hyperswarm.

Ensure RDP is enabled on the computer that is going to be logged into (the server), and on that computer run:

hypertele-server --seed SEED -l 3389

Then on another computer (client), anywhere on the internet, ssh into the server:

hyperssh --rdp -s ...

The hyper-cmd system

The Hyperssh also supports the hyper-cmd system. Refer to Identity management and Host resolution for additional information.

Last updated