SSH users management tool

You can download this SSH management tool here.

  1. #!/bin/bash
  2.  
  3. DENY_LIST="/etc/ssh/denyusers"
  4. CHOICE=0
  5.  
  6. list_user()
  7. {
  8. less $DENY_LIST
  9. }
  10.  
  11. deny_user()
  12. {
  13. read -p "Username to deny: " USER
  14.  
  15. cat /etc/passwd | cut -d: -f1 | grep $USER &> /dev/null
  16.  
  17. if [ $? -eq 0 ]; then
  18. cat $DENY_LIST | cut -d: -f1 | grep $USER &> /dev/null
  19.  
  20. if [ $? -eq 0 ]; then
  21. echo -e "User already denied\n"
  22. else
  23. echo "$USER" >> $DENY_LIST
  24. fi
  25. else
  26. echo -e "User does not exists\n"
  27. fi
  28. }
  29.  
  30. reallow()
  31. {
  32. read -p "Username to deny: " USER
  33.  
  34. cat $DENY_LIST | cut -d: -f1 | grep $USER > /dev/null 2> /dev/null
  35.  
  36. if [ $? -eq 0 ]; then
  37. sed -i '/^'$USER'$/d' $DENY_LIST
  38. # Remove empty line
  39. sed -i '/^$/d' $DENY_LIST
  40. else
  41. echo -e "User not denied\n"
  42. fi
  43. }
  44.  
  45.  
  46. while [ "$CHOICE" -ne 4 ]
  47. do
  48. case "$CHOICE" in
  49. 1)
  50. list_user
  51. CHOICE=0
  52. ;;
  53. 2)
  54. deny_user
  55. CHOICE=0
  56. ;;
  57. 3)
  58. reallow
  59. CHOICE=0
  60. ;;
  61. 4)
  62. exit 1
  63. ;;
  64. *)
  65. echo -e "\n=== SSH USERS ==="
  66. echo " [1] List denied users"
  67. echo " [2] Deny an user"
  68. echo " [3] Re-allow a denied user"
  69. echo " [4] Quit"
  70. read -p "Your choice ? " CHOICE
  71. echo
  72. ;;
  73. esac
  74.  
  75. #clear
  76. done
  77.