Comment

Comment by jstanley

> Shellvault uses a websocket to connect a client-side terminal emulator to an SSH process on Shellvault's servers. When you type a command, it goes through the websocket to the SSH client running on our servers, and the socket sends the response back to the terminal in your browser.

So this gives Shellvault complete shell access to your server.

It could be improved by terminating SSH at the browser, and just using the Shellvault server as a dumb proxy.

Step 1: javascript ssh client - https://github.com/mscdex/ssh2

Step 2: websocket tcp proxy - https://github.com/novnc/websockify

Step 3: javascript terminal emulator - https://github.com/rohanchandra/javascript-terminal

Step 4: ???

Step 5: Profit

EDIT: And a really roundabout way to do this is to run the dropbear ssh client inside Fabrice Bellard's in-browser Linux VM: https://bellard.org/jslinux/ which actually already works today

parent jstanley 7 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton