summaryrefslogtreecommitdiff
path: root/linuxinstall/shell/check_userpass.sh
blob: 6e6dc7d820199df30641d4280bf364c233a0ae29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/expect

if {$argc!=3} {
	send_user "usage: check_userpass.sh ip name password\n"
	exit 1
}

set host [lindex $argv 0]
set user [lindex $argv 1]
set pass [lindex $argv 2]

set isSend 0
spawn ssh -t "${user}@${host}"

while 1 {
	expect {
		"* (yes/no)*" {send "yes\r"}
		"* ����*" {
			send "${pass}\r"
			set isSend 1
		}
		"* password:*" {
			send "${pass}\r"
			set isSend 1
		}
		"Permission denied" {
			send_user "Not allowed\n"
			exit 1
		}
		"*~]" {
			send_user "OK\n"
			send "exit\r"
			exit 0
		}
		"Last login:*" {
			send_user "OK\n"
			send "exit\r"
			exit 0
		}
		default {
			send_user "error\n"
			exit 2
		}
	}
}