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?
6 Answers
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.
-
1When 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. Commented Feb 15, 2015 at 17:08 -
2@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. Commented Feb 15, 2015 at 18:28 -
sshfs -o IdentityFile=~/.ssh/keyname user@domain:/some/remote/dir/ /my/local/dir/
sshfs ssh key parameter is different from ssh parm Commented Jun 16, 2022 at 13:40
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/
.
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://[email protected]: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
-
@jnovacho, I confirm that yes, changes are written back to the server. It works also with gvim. Commented Jul 21, 2018 at 2:24
-
@dgsleeps What part of the
/etc/ssh/sshd_config
do you check for the port? I have a couple of ports in my file.– cokedudeCommented Jan 7, 2020 at 5:15
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.
If you want to use GUI programs installed on the remote machine, you can forward remote display to your local PC.
$ ssh -X [email protected]
Now open a remote file using a GUI editor installed on remote machine
$ geany ~/Documents/file.txt
-
Unfortunately, this yields very slow interactions with the editor...– matthieuCommented May 4, 2020 at 9:39
I found the easiest way for me was to mount the folder (with CIFS in my case)
See How do I access a mounted Windows share from the command line?.