templates/install/requirement.ssh.sh.twig line 1

Open in your IDE?
  1. # check if identity is present
  2. if [ ! -f "$HOME/.ssh/id_rsa.pub" ]
  3. then
  4.     # The agent has no identities.
  5.     echo -e " + clef locale SSH \033[0;33mNON existante\e[0m";
  6.     tput smcup
  7.     echo
  8.     echo " + génération d'une clef SSH locale"
  9.     echo
  10.     ssh-keygen -N "" -f $HOME/.ssh/id_rsa
  11.     tput rmcup
  12.     echo -e " + clef locale SSH \033[1;92mGénérée\e[0m";
  13. fi
  14. # load ssh config
  15. if [ ! -f "$HOME/.ssh/config" ]
  16. then
  17.     mkdir -p $HOME/.ssh/
  18.     touch $HOME/.ssh/config
  19.     chmod 700 $HOME/.ssh/config
  20. fi
  21. # detect dev User
  22. devUserDetected=$(awk "/^Host dev\$/{x=1}x&&/User/{print \$2;exit}" $HOME/.ssh/config)
  23. if [ "$devUserDetected" = "" ]
  24. then
  25.   terminal-save
  26.   echo
  27.   echo -e "Indiquez votre nom d'utilisateur ssh du serveur de dev (ssh://\033[1mUSER\033[0m@dev.cosavostra.com)"
  28.   #read devUserName
  29.   read -e -p "Nom d'utilisateur du serveur de dev ? " -i $(whoami) devUserName
  30.   terminal-restore
  31. else
  32.   devUserName="$devUserDetected"
  33.   echo "Utilisation de la config ssh de $HOME/.ssh/config"
  34. fi
  35. # test ssh connexion
  36. ssh -q -o StrictHostKeyChecking=no -o PasswordAuthentication=no -p $devPort $devUserName@$devHost exit
  37. # compare last command result
  38. if [ $? = "0" ]
  39. then
  40.     tput rc;tput ed
  41.     echo -e " + Connexion ssh \e[1;92mValide\e[0m pour \e[1m$devUserName@$devHost\e[0m"
  42. else
  43.     tput rc;tput ed
  44.     echo -e " - \033[1;31mErreur de connexion SSH\033[0m au serveur de DEV pour \e[1m$devUserName@$devHost\e[0m"
  45.     echo
  46.     echo -e "commande testée : "
  47.     echo -e "\033[0;37mssh -o PasswordAuthentication=no -p $devPort $devUserName@$devHost\e[0m"
  48.     ssh -o PasswordAuthentication=no -p $devPort $devUserName@$devHost exit
  49.     echo
  50.     echo -e "Executer la commande \"\e[2mssh-copy-id -p $devPort $devUserName@$devHost\e[0m\" ?"
  51.     read -p "Votre mot de passe du serveur SSH sera demandé (o/n) " reply;
  52.     case $reply in
  53.       o|O|y|Y )
  54.         ssh-copy-id -p $devPort $devUserName@$devHost
  55.         ssh -q -o StrictHostKeyChecking=no -o PasswordAuthentication=no -p $devPort $devUserName@$devHost exit
  56.         if [ $? = "0" ]
  57.         then
  58.             tput rc;tput ed
  59.             echo -e " + Connexion ssh \e[1;92mValide\e[0m pour \e[1m$devUserName@$devHost\e[0m"
  60.         else
  61.             tput rc;tput ed
  62.             echo -e " - \033[1;31mErreur de connexion SSH\033[0m au serveur de DEV pour \e[1m$devUserName@$devHost\e[0m"
  63.             echo
  64.             echo "En cas de problème, contactez un administrateur"
  65.             echo
  66.             exit 1
  67.         fi
  68.       ;;
  69.       *)
  70.         echo "Connexion SSH non valide"
  71.         exit 1
  72.       ;;
  73.     esac
  74. fi
  75. # auto config SSH for later use
  76. if [ "$devUserDetected" = "" ];then
  77.     {
  78.         echo "Host dev"
  79.         echo "  HostName $devHost"
  80.         echo "  User $devUserName"
  81.         echo "  Port $devPort"
  82.         echo
  83.     } >> $HOME/.ssh/config
  84.     echo -e " + Connexion ssh \e[1;92mdéfinie\e[0m, vous pouvez executer '\e[3mssh dev\e[0m' pour vos connecter au serveur"
  85. fi