This directory contains a set of scripts which have been used on Linux as well as Solaris 2.x systems to initiate or maintain a connection with PPP. The files in this directory were contributed by Al Longyear (longyear@netcom.com) and Adi Masputra (adi.masputra@sun.com) ------------------------------------------------------------------------ 1. README This file. You are reading it. It is just documentation. ------------------------------------------------------------------------ 2. ppp-on This script will initiate a connection to the PPP system. It will run the chat program with the connection script as a parameter. This is a possible security hole. However, it is simple. It is meant to replace the previous version of ppp-on which was not very functional. The ppp-on script has entries for the account name, password, IP addresses, and telephone numbers. The parameters are passed to the pppd process and, then in turn, to the second part of the connect script, as a set of environment variables. Please make sure that you put the full path name to the ppp-on-dialer script in the reference to it in ppp-on. ------------------------------------------------------------------------ 3. ppp-on-dialer This is the second part to the simple calling script, ppp-on. It executes the chat program to connect the user with a standard UNIX style getty/login connection sequence. ------------------------------------------------------------------------ 4. callback This script may be used in lieu of the ppp-on-dialer to permit the common modem callback sequence. You may need to make changes to the expected prompt string for the modem. The script works by disabling the system's detection of the DCD condition and working on the modem status message "NO CARRIER" which is generated when the modem disconnects. It is crude. It does work for my modem connection. Use as you see fit. ------------------------------------------------------------------------ 5. redialer The redialer script is a replacement for the ppp-on-dialer script. It will do 'attack dialing' or 'demon dialing' of one or more telephone numbers. The first number which responds will be used for a connection. There is a limit of ten attempts and a 15 second delay between dialing attempts. Both values are set in the script. ------------------------------------------------------------------------ 6. ppp-off This is a script which will terminate the active ppp connection. Use as either "ppp-off" to terminate ppp0, or "ppp-off " to terminate the connection on . For example, "ppp-off ppp2" will terminate the ppp2 connection. ------------------------------------------------------------------------ 7. secure-card This script was written by Jim Isaacson . It is a script for the 'expect' programming language used with Tcl. You need to have expect and Tcl installed before this script may be used. This script will operate with a device marketed under the name "SecureCARD". This little device is mated with its controller. On the credit card size device, there is a sequence number which changes on a random basis. In order for you to connect you need to enter a fixed portion of your account name and the number which is displayed on this card device. The number must match the value at the controller in order for the account name to be used. The problem is that chat uses fixed response strings. In addition, the timing for running the script may prevent the use of a script that reads the value before it starts the dial sequence. What was needed was a script which asked the user at the user's console at the time that it is needed. This led to the use of expect. ------------------------------------------------------------------------ 8. ppp-on-rsh This script will initiate a PPP connection to a remote machine using rsh. This is implemented by creating a master/slave pseudo-tty with the slave pointing to rsh, specifically with the 'pty' and 'notty' options of pppd. It is assumed that the remote machine contains some sort of trust mechanisms (such as ~/.rhosts, et al) to allow the local machine to connect via rsh as root. ------------------------------------------------------------------------ 9. ppp-on-ssh This script will initiate a PPP connection to a remote machine using the secure shell, or ssh. I've only tested this on ssh 1.x, so those of you who are running ssh 2.x mahy need to modify the ssh options slightly. This is implemented by creating a master/slave pseudo-ttyt with the slave pointing to ssh, specifically with the 'pty' and 'notty' options of pppd. It is assumed that the remote machine can accept the ssh connection from the local host, in the sense that all ssh authentication mechanisms have been properly configured, so that a remote root user can open a ssh connection. ------------------------------------------------------------------------ 10. options-rsh-loc & options-rsh-rem These options files accompany the ppp-on-rsh script mentioned above. In theory, you'd want to copy the options-rsh-rem to the remote machine where in.rshd is running. The only extra option required on the remote machine options file is the 'notty' option. In addition, all ASCII control characters [0x00 to 0x1f], plus 0xff, are escaped. This may need to be modified depending on the rsh (or pseudo-tty) implementation which may differ across platforms, for further optimizations. ------------------------------------------------------------------------ 11. options-ssh-loc & options-ssh-rem These options files accompany the ppp-on-ssh script mentioned above. I've only tested this on ssh 1.x, so those of you who are running ssh 2.x need to modify the ssh options slightly. In theory, you'd want to copy the options-ssh-rem to the remote machine where sshd daemon is running. The only extra options required on the remote machine options file is the 'notty' option. In addition, all ASCII control characters [0x00 to 0x1f], plus 0xff, are escaped. This may need to be modified depending on the ssh (or pseudo-tty) implementation which may differ across platforms, for further optimizations.