Installing SRP-enhanced telnet and ftp on UNIX systems ====================================================== If you obtained the SRP distribution as a binary distribution, unpack the archive in a temporary directory. If you are compiling from source, this directory should have links to the appropriate executables. MAKE SURE YOU READ THE TESTING SECTION AT THE END OF THIS DOCUMENT!!! INSTALLATION STEPS ================== 0. For an automatic installation of both client and server binaries, run the "installsrp" script in this directory as root, e.g. # ./installsrp You SHOULD make BACKUPS of your original programs (the installsrp script will make ".orig" backups if you so request but it pays to be on the safe side). If this does not succeed, or if you prefer to install by hand, refer to the remaining instructions below. Client installation (done either as root or as an ordinary user): ----------------------------------------------------------------- 1. The recommended procedure is to replace the existing "telnet" and "ftp" binaries with the SRP-enhanced telnet and ftp. If you have root permission, find where the "telnet" and "ftp" commands live (e.g. "which telnet", "where telnet", or "type telnet"). Replace them with the new telnet and ftp. You SHOULD save copies of the originals: # mv /usr/bin/telnet /usr/bin/telnet.orig # cp telnet /usr/bin/telnet If you do not have root permission, install the telnet and ftp clients in a directory of your own choosing and place it before the system telnet and ftp in your $PATH. That's it! Using the Java telnet client (either applet or application mode): ----------------------------------------------------------------- 0. The Java telnet client is recommended primarily for non-Unix platforms and is highly experimental at this stage. The native Unix binaries are faster, support more features, and are more easily customized. That having been said, the Java client can be run from any platform with a Java virtual machine, including a Java-enabled Web browser. 1. The Java telnet client is packaged as a single zip file, "telnet-bin.zip". To run the client as an application, place this file as an entry in your CLASSPATH before running java as follows: $ CLASSPATH=/usr/local/lib/telnet-bin.zip:$CLASSPATH $ export CLASSPATH $ java telnet remote-host To run the client as an applet, simply visit the URL of a page that has been set up with the applet. Instructions on how to set up a site to serve the applet will be forthcoming. Server installation (done as root): ----------------------------------- 0. This step is for administrators who wish to enable SRP-secured telnet sessions and ftp sessions into their systems. There are also mechanisms to prevent non-SRP users from telnetting and ftping in once the SRP-enabled telnetd and ftpd are installed. 1. Find out where your telnet daemon and ftp daemon are located. For example, with telnetd: $ grep telnet /etc/inetd.conf telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd The sixth field indicates the pathname of the telnet daemon. Replace this with the SRP telnetd, optionally saving a copy of the original telnetd: # mv /usr/sbin/in.telnetd /usr/sbin/in.telnetd.orig # cp telnetd /usr/sbin/in.telnetd Repeat with ftpd. 2. By default, SRP telnetd and ftpd will fall back to standard, insecure authentication if all secure authentication methods fail. If you wish to disable this functionality and only permit secure logins, edit the /etc/inetd.conf and place the "-a valid" option at the end of the telnet entry and the -a option at the end of your ftp entry, i.e. telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd -a valid ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -a To make this change take effect, send a hangup signal (SIGHUP, 1) to your "inetd" process. If you do not know how to do this, consult your system's manuals. Note that SRP-secured logins will not work for a user until that user sets his SRP password using the SRP "passwd" program. It is thus recommended that this second step be taken only when all the remote users on a system have had a chance to set an SRP password. WARNINGS: Make sure you have your SRP password set before enabling the -a valid option or you WILL NOT be able to telnet back in. TESTING ======= IF YOU INSTALLED TELNETD MAKE SURE YOU TEST YOUR SYSTEM *BEFORE* LOGGING OUT. Try and telnet into your machine. Common problems not gaining access are: 1. The /etc/inetd.conf entries for telnet and ftp provide flags which are not understood by SRP-enabled telnetd and ftpd. 2. The /etc/inetd.conf entries for telnetd and ftpd provid the -a flag and your tpasswd has not been set. 3. Your system's /bin/login does not support the "-f" flag, which means you need to put "localhost" in your /etc/hosts.equiv file. If you cannot figure out the problem, restore your original telnetd. Tom Wu tjw@cs.Stanford.EDU