HACKER Q&A
📣 Zyst

What tools have helped you work on remote servers over SSH?


Hey HN! At work I'm using a Remote Devservers for most of my work. This means you mostly live inside SSH all day, and don't have access to a graphical environment.

What tools have you found most helpful to be productive in a setup like that? My largest fear so far is keeping which server I'm currently connected to straight.


  👤 jstx1 Accepted Answer ✓
The VSCode Remote SSH extension - the experience is almost identical to using VSCode locally.

👤 mikece
Notepad++ with the NppFTP plugin that allows me to browse and edit remote files as if they were local (just gotta remember to set Unix line endings as a default rather than Windows style).

👤 ilaksh
It should show the hostname in the prompt.

Check out the `fish` shell and the fisherman plugin manager. The way I use fish is manually running it on top of bash so I can just exit if I run into a command that doesn't work right the first time, although this probably isn't necessary anymore since they made the syntax more compatible.

You might look into SSHFS.

It's also quite possible to set up a graphical environment on a remote server like a VPS.

neovim (nvim) works for me. Also micro is pretty good.

You might look into mosh for better perceived latency although I find it isn't usually necessary.

tmux is popular. Although for me just a good graphical terminal with tabs works fine.


👤 a0-prw
Emacs

👤 jodrellblank
Learn Linux/Unix jobs; " &" to start something in the background, "jobs" to list running jobs, Ctrl-Z to pause the running thing into the background, "bg " to get a backgrounded job running in the background, "fg " to bring a background job to the foreground.

Then learn a multiplexor like tmux or screen which can split windows and have virtual terminals inside one SSH session.

Then learn an editor like Vim or Emacs which has buffers and windowing inside that.

Then if on a laptop which roams, stack mosh on top to keep the SSH session open without reconnecting.

Then trash all that and do X-Forwarding over SSH to have GUI programs.

Then trash that and use VS Code or Emacs locally with remote editing plugins/config (e.g. https://code.visualstudio.com/docs/remote/ssh )

Then ditch that and have local editing with CI/CD to build and deploy to a remote server that you never touch.


👤 wmlive
Bash, Screen, Vim, Midnight Commander (mc)