wok view ajaxterm/stuff/usr/share/ajaxterm/login @ rev 5153

get-virtualbox: Fix build.
author Eric Joseph-Alexandre <erjo@slitaz.org>
date Wed Mar 24 14:34:06 2010 +0100 (2010-03-24)
parents 4d4282b75d01
children 0e1c8f449ff3
line source
1 #!/bin/sh
3 # Optional: check user with a random question
4 file=/usr/share/ajaxterm/questions
5 if [ -s $file -a -r $file ]; then
6 line=1
7 while read md5 question; do
8 [ $(( $(date +%s) % $line )) -ne 0 ] && continue
9 ask_question="$question"
10 ask_md5="$md5"
11 line=$(($line+1))
12 done < $file
13 echo -n "$ask_question "
14 read -t 30 answer
15 [ $ask_md5 == $(echo $answer | md5sum | cut -d\ -f1) ] || exit 1
16 fi
18 # Get SSH server
19 server=""
20 if [ -x /usr/bin/ssh ]; then
21 echo -n "SSH server: "
22 read -t 300 server || exit 1
23 fi
25 # No SSH server given ? Try login
26 [ -n "$server" ] || exec /bin/login
28 # Allow non default SSH port with format server:port
29 sshport=""
30 case "$server" in
31 *:*) sshport="-p ${server#*:}"
32 server=${server%:*};;
33 esac
35 # heading ! in server name means open remote ssh port with a knock sequence
36 if [ -x /usr/bin/knock ]; then
37 case "$server" in
38 !*) server=${server#*!}
39 echo -n "Knock sequence (port[:proto]...): "
40 read -t 30 sequence && knock ${server#*@} $sequence
41 esac
42 fi
44 # Get SSH user if missing
45 case "$server" in
46 *@*) ;;
47 *) echo -n "$server login: "
48 read -t 30 user || exit 1
49 server="$user@$server";;
50 esac
52 # Launch OpenSSH or Dropbear
53 sshargs="-oPreferredAuthentications=keyboard-interactive,password -oNoHostAuthenticationForLocalhost=yes -oLogLevel=FATAL -F/dev/null";
54 [ -L /usr/bin/ssh ] && sshargs=""
55 exec ssh $sshport $sshargs $server