|
|
|
|
|
by invokestatic
2714 days ago
|
|
You can’t write a browser-based SSH client on today’s technology without some sort of intermediary. You can’t write to raw TCP sockets. In the JS projects you listed, the JS SSH client only runs in a Node context, not in the browser, and the TCP proxy would have to be run either on the SSH server or on the client computer. If you’re able to install a Node instance with Websockify on it, I’m sure it would be much more practical to use a traditional SSH client instead. But yes I agree with you that I wouldn’t trust a service like this because of what I perceive to be a fundamental security issue. But I think they did the best they could with current technologies. |
|
Every router between you and the SSH server is an intermediary too. If SSH were terminated at the browser, the websocket-to-tcp proxy provider wouldn't be any more privileged than any other machine on the route.
> the TCP proxy would have to be run either on the SSH server or on the client computer.
It could run on any computer in the world that the client has access to, and that can access the SSH server. (I.e. the same set of computers that could feasibly run the Shellvault server).
Fair point about the SSH client only working in Node. I hadn't looked carefully enough.
There's no fundamental reason why the system I described couldn't work today, it just wouldn't work with the SSH client I linked to.