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

syslinux/iso2exe: add loram support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Dec 18 16:09:07 2012 +0100 (2012-12-18)
parents 97d62922ae84
children 02c70d036ea0
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 -o -x /usr/bin/telnet ]; then
21 echo "Expected format [!][telnet/][user@][host][:port], default local login."
22 echo -n "TELNET/SSH server: "
23 read -t 300 server || exit 1
24 fi
26 # No SSH server given ? Try login
27 [ -n "$server" ] || exec /bin/login
29 # Allow non default SSH port with format server:port
30 port=""
31 sshport=""
32 case "$server" in
33 *:*) port="${server#*:}"
34 sshport="-p $port"
35 server=${server%:*};;
36 esac
38 # heading ! in server name means open remote ssh port with a knock sequence
39 if [ -x /usr/bin/knock ]; then
40 case "$server" in
41 !*) server=${server#*!}
42 echo -n "Knock sequence (port[:proto]...): "
43 read -t 30 sequence && knock ${server#*@} $sequence
44 esac
45 fi
47 # Get SSH user if missing
48 case "$server" in
49 */*|*@*) ;;
50 *) echo -n "$server login: "
51 read -t 30 user || exit 1
52 server="$user@$server";;
53 esac
55 # Launch OpenSSH or Dropbear
56 sshargs="-oPreferredAuthentications=keyboard-interactive,password -oNoHostAuthenticationForLocalhost=yes -oLogLevel=FATAL -F/dev/null";
57 [ -L /usr/bin/ssh ] && sshargs=""
58 case "$server" in
59 */*) exec ${server%/*} ${server#*/} $port ;;
60 *) exec ssh $sshport $sshargs $server ;;
61 esac