26

I'm trying to edit a file from a remote computer connected via ssh. How can I open the remote file on my local computer to edit?

33

You can mount the remote directory with sshfs, after that, the file is accessible in your local directory tree.

Example:

sshfs user@domain:/remote/directory/ /local/directory/

It's all in the man pages.

Or just copy the file over with scp/rsync, edit it, and copy it back.

  • 1
    When I try the 'sshfs' command it throws a "missing host" error. Any way around that? This is what I'm trying to do: sshfs USER@IP_ADDRESS//~/folder/folder_here/another_folder/file.txt Note: I didn't use a port number if that matters. – masterninja01 Feb 15 '15 at 17:08
  • 1
    @masterninja01 You need to specify a local mount point; also, you can't mount the actual file, you would mount the directory (also: the source address needs to include a colon) so: sshfs USER@IP_ADDRESS:~/folder/ ~/folder. ~/folder needs to exist locally. – goldilocks Feb 15 '15 at 18:28
9

If you are familiar with vim, you may use it as follows:

vim scp://user@host:port/file_path_and_filename

Make sure not to forget the "/" character before the filepath; otherwise it won't work; for example:

vim scp://user@192.168.1.4:2243//home/user/my_file

You can skip the portnumber if is the same of the default on your /etc/ssh/sshd_config file

  • 2
    Are the changes written back to server? – jnovacho Aug 8 '17 at 11:25
  • @jnovacho, I confirm that yes, changes are written back to the server. It works also with gvim. – Hans Deragon Jul 21 '18 at 2:24
6

If you use GNOME or KDE:

  • open file manager
  • press Ctrl+L to focus address bar
  • enter sftp://host/ and press Enter (replace "host" with your target host)

The file system of the remote host will be displayed in file manager now, and you can navigate to your target directory and double-click the file to open it. As far as I know you can now use any local program to open the file (it doesn't have to be a Gnome or KDE application).

You should also be able to set a bookmark to the remote target directory, to quickly get there again later.

If you want to connect as a different user or using a different port, you can use sftp://user@host:port/somedirectory/.

3

During a ssh session you can just open the file with an editor, for example vi/vim or nano.

$ vi file.txt

If you're not sure how to use these, check the manpage.

3

If you want to use GUI programs installed on the remote machine, you can forward remote display to your local PC.

 $ ssh -X user@example.com

Now open a remote file using a GUI editor installed on remote machine

 $ geany ~/Documents/file.txt

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.