Secure Shell and SCP SupportBesides recognizing ftp:// URLs, Epsilon also recognizes scp:// URLs, which may be used for secure file transfers. With scp support, you can read or write files using an scp:// URL, navigate the remote system's directory tree using dired, mark files for copying between the local and remote systems, use grep or file-query-replace to search and replace on multiple remote files, and use file name completion.
Epsilon recognizes ssh:// URLs to connect securely to a command shell
on a remote computer, providing a secure alternative to the
telnet command. Epsilon's ssh command works similarly
to the ssh:// URL. Use the syntax
The scp and ssh features work by running certain external programs. Epsilon's ssh command depends on an external ssh program. With default settings, scp features use an sftp program, which is part of the ssh package. For Linux or FreeBSD, install the appropriate ssh package for your distribution.
For Windows, the Cygwin system contains appropriate clients. Install Cygwin's openssh package from the net section, and ensure Cygwin's bin directory is on your PATH. Or with some configuration you can use alternatives like PuTTY. (See below for more on PuTTY.) With PuTTY, certain features like file name completion won't be available. Scp and ssh support works on Unix and under Windows NT/2000/XP/Vista, but not under Windows 95/98/ME.
With scp/ssh support, Epsilon doesn't remember your password or passphrase. Epsilon will ask for it each time it must start a new scp or sftp helper program; for instance, when you begin a second scp operation before the first has completed. You can use an ssh agent to manage your keys and passphrases (see the manual page for ssh-agent in your ssh distribution) to avoid having to type them more than once.
The variable ssh-template tells Epsilon how to build a command line for invoking the external ssh program when a specific user name appears before the host name. If no user name was specified, it uses ssh-no-user-template. See the descriptions of these variables for their format. The ssh-interpret-output variable controls how Epsilon interprets ANSI escape sequences and similar in an ssh buffer.
Epsilon runs an sftp program to copy files, obtain file listings for
dired, and do many miscellaneous tasks like create directories or
perform completion. Some old sftp programs use a different command
syntax for listing files; if you have trouble, try setting the
scp-client-style variable to
Hints for Windows
Be sure to install PuTTY's
If you want to run
Cygwin's ssh-agent under Windows, one way is to start Cygwin's bash
shell, run the command
It's possible to set up Epsilon to use one set of variables for one
remote system and a different one for others. To enable this, before
checking for a variable such as scp-run-helper-template, Epsilon
constructs a new variable name by adding the host name of the remote
system to its end. For instance, if you try to access
www.example.com, Epsilon first looks for a variable named
Using Ancient Hosts
If you must use a very old version of ssh that lacks an sftp program, or connect to a system that doesn't support sftp, or you want to use an ssh replacement that lacks sftp, it's possible to set up Epsilon to run its own helper program on the remote system.
To do this, copy the C language source code file
It should print a greeting line and await a command. Type ^C or press
<Enter> to make it exit. You may need to edit the Epsilon
variable scp-run-helper-template to include the path to the
helper program, or if you use a different ssh program. For instance,
if you use an ssh client "oldssh" that lacks an sftp program, set it
To tell Epsilon to use epsilon-xfer-helper commands, not sftp
commands, set the scp-client-style variable to
When you don't use sftp, Epsilon must run a separate program for each file transfer. By default it uses the scp program. The variable scp-read-file-template tells Epsilon how to transfer a file from the remote system to a local file, and scp-write-file-template does the opposite. There are separate versions of these variables for when no user name is included, named scp-read-file-no-user-template and scp-write-file-no-user-template. Change these variables to use a different program for copying files when you don't use sftp.