#!/bin/bash
rm -rf /tmp/ssh2
systemctl restart ws-stunnel
sleep 3
if [ -e "/var/log/auth.log" ]; then
        LOG="/var/log/auth.log";
fi
        cat /etc/passwd | grep "/home/" | cut -d":" -f1 > /etc/user.txt
        username1=( `cat "/etc/user.txt" `);
        i="0";
        for user in "${username1[@]}"
			do
                username[$i]=`echo $user | sed 's/'\''//g'`;
                jumlah[$i]=0;
                i=$i+1;
			done
				
        cat $LOG | grep -i dropbear | grep -i "Password auth succeeded" > /tmp/log-db.txt
        proc=( `ps aux | grep -i dropbear | awk '{print $2}'`);
        for PID in "${proc[@]}"
			do
                cat /tmp/log-db.txt | grep "dropbear\[$PID\]" > /tmp/log-db-pid.txt
                NUM=`cat /tmp/log-db-pid.txt | wc -l`;
                USER=`cat /tmp/log-db-pid.txt | awk '{print $10}' | sed 's/'\''//g'`;
                IP=`cat /tmp/log-db-pid.txt | awk '{print $12}'`;
                 if [ $NUM -eq 1 ]; then
                 TIME=$(date +'%H:%M:%S')
                 echo "$USER $TIME : $IP" >>/tmp/ssh2
                        i=0;
                        for user1 in "${username[@]}"
							do
                                if [ "$USER" == "$user1" ]; then
                                        jumlah[$i]=`expr ${jumlah[$i]} + 1`;
                                        pid[$i]="${pid[$i]} $PID"
                                fi
                                i=$i+1;
							done
                fi
			done
			
        cat $LOG | grep -i sshd | grep -i "Accepted password for" > /tmp/log-db.txt
        data=( `ps aux | grep "\[priv\]" | sort -k 72 | awk '{print $2}'`);
        for PID in "${data[@]}"
			do
                cat /tmp/log-db.txt | grep "sshd\[$PID\]" > /tmp/log-db-pid.txt;
                NUM=`cat /tmp/log-db-pid.txt | wc -l`;
                USER=`cat /tmp/log-db-pid.txt | awk '{print $9}'`;
                IP=`cat /tmp/log-db-pid.txt | awk '{print $11}'`;
                if [ $NUM -eq 1 ]; then
                TIME=$(date +'%H:%M:%S')
                echo "$USER $TIME : $IP" >>/tmp/ssh2
                        i=0;
                        for user1 in "${username[@]}"
							do
                                if [ "$USER" == "$user1" ]; then
                                        jumlah[$i]=`expr ${jumlah[$i]} + 1`;
                                        pid[$i]="${pid[$i]} $PID"
                                 fi
                                i=$i+1;
							done
                fi
        done
        
        
        j="0";
        for i in ${!username[*]}
         do
        limitip="0"
         if [[ ${jumlah[$i]} -gt $limitip ]]; then
         sship=$(cat /tmp/ssh2  | grep -w "${username[$i]}" | wc -l)
         echo -e "**◇━━━━━━━━━━━━━━━━━◇**"
         echo -e "$COLOR1${NC} **USERNAME :** ${username[$i]}";
         echo -e "$COLOR1${NC} **IP LOGIN :** $sship";
         fi
        done
echo -e "**◇━━━━━━━━━━━━━━━━━◇**"