23
Software for remote desktop with phone confirmation to use on untrusted machines
(discuss.tchncs.de)
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Honestly, it sounds like you want ssh.
I'm not saying this to be smug, everything you listed here is things ssh can do if configured to do so... 2FA can be configured in various ways via PAM (namely yubikey being the superior method, but the possibilities are limitless). Banning non interactive shells can be done with something along the lines of:
Rate limiting is achievable via iptables/nftables.
No, because with remote desktop (GUI or terminal) I would clearly see if something other than my instructions is being done. I would see someone else typing or moving stuff around. With SSH malware on the client device can open second session/tty and do things there or simply write a command very fast and click enter before I can react.
If you're genuinely worried about this, you shouldn't be using untrusted machines for remote access.
If you're RDPing from a malicious client, how do you know what you're seeing is real? How do you know that your viewer didn't show the same screen for just a little too long while the host popped up a cmd, curl, run, close, continue in the background? How do you know that closing your session isn't "forwarding it to someone else for a bit, but they'll close it when they're done"? One time you start a session, verify it with your phone, waiting waiting waiting, an error occurred try again. Did it fail, or did it go to someone else?
Malware attacking vulnerability in whatever third party software you end up using is far more likely. You can't open a second tty with an existing SSH session, you'd have to authenticate again, which would require the 2FA. Using a GUI isn't going to prevent "doing something very fast" and like I said you can rate limit ssh using nf/iptables if you think that's helpful. I'm not sure what you are referring to when you say "terminal", because that's normally what is referred to as a tty.
All your concerns are true of remote x sessions and while I’m not familiar enough with Wayland to defend this claim, I’d bet they are true of remote Wayland sessions too.
The old way of doing a secure remote x session was by tunneling it through ssh. When I needed remote desktop reachable anywhere I used passwordless 2fa ssh as the tunnel.
How exactly were you planning on initiating this connection to the host machine from an untrusted client, using their binaries?
:)