Edit-text-files-over-SSH using a local text editor
I am working in various Linux and UNIX environments.
I'd like to elegantly solve the problem of editing remote configuration files over SSH. Instead of using terminal editors (nano), I'd like to open the file in a local text editor on my desktop (Sublime Text 2).
CyberDuck, WinSCP and various other SFTP apps can do this.
Using editors over X11 forwarding has also proven to be problematic. Also using archaic text editors like Vim or Emacs do not serve my needs well. They could do this, but I prefer using other text editing software.
Using ssh mounts (FUSE) are also problematic unless they can happen on the demand and triggered by the remote site.
So what I hope to achieve
Have a somekind of easily deployable shell script etc. which I can copy to remote server (let's call it mooedit)
I run mooedit command on the remote server of which I have connected over SSH connection
mooedit sends some kind of signal (over SSH( to my local desktop
On my local desktop this signal is captured and it determines 'a ha! moo wants to edit a file on server X in folder Y'
File is SFTP transfered to the local desktop (/tmp)
File is opened in a nice GUI text editor on the local desktop
When Save is pressed, the local desktop notices changes in the file and SFTP sends the resulting file back to the server
The question is:
What signaling mechanisms SSH provides for this?
Any other methods to trigger a local text editor for remote SSH file?
You can use rsub and rmate to edit remote files in your local Sublime Text over ssh.
You need to
- install the
rsub
package in Sublime Text (with Package Manager) -
forward port 52698 via ssh, use
ssh -R 52698:localhost:52698 ...
or set your config- create/edit
~/.ssh/config
andchmod 600 ~/.ssh/config
(to avoid a permissions problem) - add (replace SERVERNAME with your server, you can also use
*
):
- create/edit
Host SERVERNAME
RemoteForward 52698 127.0.0.1:52698
- connect to your server with
ssh
- install the
rsub
script on the remote machine:
sudo wget -O /usr/local/bin/rsub https://raw.github.com/aurora/rmate/master/rmate
sudo chmod +x /usr/local/bin/rsub
Then you can do rsub file
in the ssh session and it will open file
in your local ST editor.
Works with ST2/ST3 and you can also sudo rsub file
!
This is an old question, but without a clear answer yet. However, you do not mention from which desktop environment you want to edit from? At one point you mention WinSCP; clearly Windows, on the other hand Cyberduck is a Mac program.
Assuming you work from a Mac; the venerable BBEdit, while not as 'sexy' as Sublime and before that TextMate, still has some features up its sleeve that the other editors don't have.
Like opening and writing files directly from and to ssh and ftp servers, from within the program. I've used this functionality since version 5 or so, which is now 13 years ago. Multiple lifetimes ago, and still not available in 'modern' editors.
http://www.barebones.com/products/bbedit/ (not affiliated in any way, just a happy user since 1993