2.6 Remote Access

Since Eshell uses Emacs facilities for most of its functionality, you can access remote hosts transparently. To connect to a remote host, simply cd into it:

~ $ cd /ssh:user@remote:
/ssh:user@remote:~ $

Additionally, built-in Eshell commands (see Built-in commands) and ordinary Lisp functions accept remote file names, so you can access them even without explicitly connecting first. For example, to print the contents of a remote file, you could type ‘cat /ssh:user@remote:~/output.log’. However, this means that when using built-in commands or Lisp functions from a remote directory, you must be careful about specifying absolute file names: ‘cat /var/output.log’ will always print the contents of your local /var/output.log, even from a remote directory. If you find this behavior annoying, you can enable the optional electric forward slash module (see Electric forward slash).