X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=scripts%2Fchatchat%2FREADME;fp=scripts%2Fchatchat%2FREADME;h=88a4c693908c282d62ed9b7d97dc4cd317215c59;hp=0000000000000000000000000000000000000000;hb=49638dd3efa6c3455f5e621c4281b461d5a0eb74;hpb=2ab6d2e3eece4d0a5f8465998b006577801e17fa diff --git a/scripts/chatchat/README b/scripts/chatchat/README new file mode 100644 index 0000000..88a4c69 --- /dev/null +++ b/scripts/chatchat/README @@ -0,0 +1,134 @@ +v 0.1 gpk@onramp.net 3/27/99 + +I Intro + + This document covers the use of the modified "chat" program and its +adjunct "chatchat" to login using the Security Dynamics SecurID card +on a linux system. + + This set of files comprises a modified version of the chat program +(the one distributed with ppp-2.3.5) and a new program called chatchat +that allows you to supply data from the keyboard to the chat program. + + The SecurID card generates passwords that have a lifetime of one +minute and are used as a first layer in dial up security. The only +software I know of for this card is for windows, so I wrote my own. +This software allows you to type in the time-sensitive password right +when your chat script is asked to supply the passcode by the remote +system. + + +II How It Works + + This version of chat his an additional command that can be put into +its options that says "Don't reply with this string. Open this pipe, +read the contents, and reply with that instead." Chatchat creates a +pipe and lets you type your passcode into it, then chat picks that up +and sends it out just as though the passcode was hardcoded into the +options. + + +III Installation + + I've provided intel binaries and source code the the modified chat +program and the chatchat program. I'll recommend that you copy the +chat.c program into your ppp-2.3.5/chat directory (save your original +chat.c program first!) and re-make it using the Makefile that comes +with chat. Copy the new chat somewhere into your path. (On my system +chat lives in /usr/sbin/chat, so I've copied the modified one into +/usr/sbin/chat.new and changed my dial in script to call chat.new +instead of chat. + + Second, compile chatchat.c and install it somewhere in your path: + + gcc -g -o chatchat chatchat.c + cp chatchat /usr/sbin + + Third, modify your chat script to use the chatchat program. Mine +looks something like this: + + + -------------------- + +#!/bin/sh +# +# This is part 2 of the ppp-on script. It will perform the connection +# protocol for the desired connection. +# use atm0 to turn down the speaker volume on my sportster x2 voice modem +# gpk 11/2/97 + +exec /usr/sbin/chat.new -V -v \ + ABORT "BUSY" \ + ABORT "NO DIAL TONE" \ + ABORT "NO ANSWER" \ + TIMEOUT 50 \ + "" "atm0" \ + OK ATDT$TELEPHONE \ + CONNECT '' \ + name: \\da0xxxxxx \ + word: @/var/tmp/p \ + compress. '' + + + ----------------------- + + This is a standard chat script: + +* abort if the modem is busy, you don't get a dial tone, no one + answers, or 50 seconds elapses. + +* use atm0 to mute the modem + +* dial the modem, when it connects, wait to be asked for account name + +* when we see "name:" prompt, delay briefly then respond with your + account name (fill in your account name) + +Now we get to the new stuff: + +* when we see "word:" in the password prompt, instead of responding + with "@/var/tmp/p", the modified chat program will open the pipe + /var/tmp/p, read the passcode out of there, and send it + +* when we see "compress." (the last word before ppp starts), reply + with nothing. The script ends and we start ppp. + +Note: + +* Make sure there is some whitespace between the filename and the \. + + +IV Usage + + To use this install the modified chat and chatchat programs, and +modify your chat script similar to the above. Before you dial in, +start that chatchat program giving it the same pipe as in your config +file. In the above case: + +chatchat /var/tmp/p + + Wait until you have one or two tick marks left on your card's +current number, then start your dial up process that eventually calls +chat. When chat goes to open and read the pipe, chatchat will prompt: + + +type PIN into SecurID card and + enter resulting passcode: + + At that point, type your PIN number into your Securid card, press +the diamond, and type the resulting numbers in as your passcode. If +you've left the -V -v options on your chat command you'll see +everything so out, otherwise it works silently. + + If you type the number wrong or run out of time, the server will +respond with an authentication failure. In that case you will have to +hang up and start again. I don't know how to build a conditional script +that says either expect "compress" next, but if you see "name:" again, +do this instead. + + +V Additional Information + + You can obtain additional information about chat and ppp from the +man pages for chat and pppd, as well as the PPP-HOWTO. +