blob: 00e032ca6ad412e99dae1f6bf204012c57e2fc48 [file] [log] [blame]
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 <device>" to
terminate the connection on <device>. For example, "ppp-off ppp2" will
terminate the ppp2 connection.
------------------------------------------------------------------------
7. secure-card
This script was written by Jim Isaacson <jcisaac@crl.com>. 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.