Home | History | Annotate | Download | only in ssh
      1 #! /usr/bin/expect -f
      2 #*********************************************************************
      3 #   Copyright (c) International Business Machines  Corp., 2000
      4 #
      5 #   This program is free software;  you can redistribute it and/or modify
      6 #   it under the terms of the GNU General Public License as published by
      7 #   the Free Software Foundation; either version 2 of the License, or
      8 #   (at your option) any later version.
      9 #
     10 #   This program is distributed in the hope that it will be useful,
     11 #   but WITHOUT ANY WARRANTY;  without even the implied warranty of
     12 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
     13 #   the GNU General Public License for more details.
     14 #
     15 #   You should have received a copy of the GNU General Public License
     16 #   along with this program;  if not, write to the Free Software
     17 #   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
     18 #
     19 #  FILE   : ssh
     20 #
     21 #  PURPOSE: Tests to see that ssh accepts a valid user (non-root)
     22 #
     23 #  SETUP: The program `/usr/bin/expect' MUST be installed.
     24 #
     25 #  HISTORY:
     26 #    03/03 Jerone Young (jeroney (at] us.ibm.com)
     27 #
     28 #
     29 set RHOST $env(RHOST)
     30 set TEST_USER $env(TEST_USER)
     31 set TEST_USER_PASSWD $env(TEST_USER_PASSWD)
     32 
     33 set RUSER $TEST_USER
     34 set PASSWD $TEST_USER_PASSWD
     35 
     36 set timeout 90
     37 
     38 #test valid username
     39 
     40 send_user "TEST: SSH allow (non-root) valid User \n"
     41 
     42 spawn ssh -l $RUSER $RHOST whoami
     43 
     44 while 1 {
     45 	sleep 2
     46 	expect {
     47 
     48 		"Are you sure you want to continue connecting (yes/no)?" {
     49 			exp_send "yes\r"
     50 		}
     51 		"assword:" {
     52 			exp_send "$PASSWD\r"
     53 		}
     54 		-re "Permission denied (.*)\." {
     55 			send_user "\nSSH would not allow $RUSER to login, Test\
     56 				   FAILED \n"
     57 			exit 1
     58 		}
     59 		"$RUSER" {
     60 			send_user "SSH allowed $RUSER to login, Test PASSED \n"
     61 			exit 0
     62 		}
     63 	}
     64 	sleep 1
     65 }
     66 
     67 exit 1
     68