Skip to content

Instantly share code, notes, and snippets.

@Magamex
Created August 8, 2020 02:09
Show Gist options
  • Save Magamex/7a8c2e773a351ccff67b6f7b4a2c1ffd to your computer and use it in GitHub Desktop.
Save Magamex/7a8c2e773a351ccff67b6f7b4a2c1ffd to your computer and use it in GitHub Desktop.
sk es un script para conectarse por ssh, enviar y recibir archivos y crear tunel
#!/bin/bash
# https://misc.flogisoft.com/bash/tip_colors_and_formatting
# https://bytefreaks.net/gnulinux/bash/cecho-a-function-to-print-using-different-colors-in-bash
negro='\E[0;47m'
rojo='\E[0;31m'
verde='\E[0;32m'
amarillo='\E[0;33m'
azul='\E[0;34m'
magenta='\E[0;35m'
celeste='\E[0;36m'
blanco='\E[0;37m'
ayuda(){
echo -e "$(cat << EOF
sk V1.0
${celeste}sk es un script para conectarse por ssh, enviar y recibir archivos y crear tunel${blanco}
Parametros:
go - Conectarse a un lugar especifico ${verde}[Finalizado]${blanco}
Ejemplo:
sk go usuario ip puerto
---
get - Trae de un equipo remoto un archivo ${verde}[Finalizado]${blanco}
Ejemplo:
sk get usuario ip puerto ubicacionRemoto ubicacionLocal
---
post - Enviar un archivo a un equipo remoto ${verde}[Finalizado]${blanco}
Ejemplo:
sk post usuario ip puerto ubicacionLocal ubicacionRemoto
---
tunel - Genera un tunel entre el tu equipo local y el remoto ${verde}[Finalizado]${blanco}
Ejemplo:
sk tunel usuario ip puerto
EOF
)"
}
vistaGet(){
echo -e "$(cat << EOF
${blanco}USUARIO = ${rojo}${2}
${blanco}IP = ${rojo}${3}
${blanco}PUERTO = ${rojo}${4}
${blanco}REMOTO = ${rojo}${5}
${blanco}LOCAL = ${rojo}${6}
EOF
)"
if [ ! -z ${7} ];then
echo -e "${blanco}RECURISIVO = ${rojo}Si"
echo -e "${celeste}Recibiendo de ${3}${blanco}"
else
echo -e "${blanco}RECURSIVO = ${rojo}No"
echo -e "${celeste}Recibiendo de ${3}${blanco}"
fi
}
vistaPost(){
echo -e "$(cat << EOF
${blanco}USUARIO = ${rojo}${2}
${blanco}IP = ${rojo}${3}
${blanco}PUERTO = ${rojo}${4}
${blanco}REMOTO = ${rojo}${5}
${blanco}LOCAL = ${rojo}${6}
EOF
)"
if [ ! -z ${7} ];then
echo -e "${blanco}RECURISIVO = ${rojo}Si"
echo -e "${celeste}Enviando de ${3}${blanco}"
else
echo -e "${blanco}RECURSIVO = ${rojo}No"
echo -e "${celeste}Enviando de ${3}${blanco}"
fi
}
vistaGo(){
echo -e "$(cat << EOF
${blanco}USUARIO = ${rojo}${2}
${blanco}IP = ${rojo}${3}
${blanco}PUERTO = ${rojo}${4}
${celeste}Conectandose a ${3}${blanco}
EOF
)"
}
vistaTunnel(){
echo -e "$(cat << EOF
${blanco}USUARIO = ${rojo}${2}
${blanco}IP = ${rojo}${3}
${blanco}PUERTO = ${rojo}${4}
${blanco}PUERTO SOCK = ${rojo}${5}${blanco}
EOF
)"
}
if [ -z "$1" ];then
ayuda
else
for i in "$@"
do
case $i in
go)
#CONECTARSE A UN EQUIPO
vistaGo $1 $2 $3 $4
ssh -p${4} ${2}@${3}
;;
get)
#GET TRAER DATOS
# 1 2 3 4 5 6 7(?)
#sk get usuario ip puerto ubicacionRemoto ubicacionLocal recursivo
if [ ! -z ${7} ]; then
#Recursivo
vistaGet $1 $2 $3 $4 $5 $6 $7
scp -rp${4} ${2}@${3}:${5} ${6}
else
#No Recursivo
vistaGet $1 $2 $3 $4 $5 $6
scp -p${4} ${2}@${3}:${5} ${6}
fi
;;
post)
# 1 2 3 4 5 6
#sk post usuario ip puerto ubicacionLocal ubicacionRemoto
if [ ! -z ${7} ]; then
vistaPost $1 $2 $3 $4 $5 $6 $7
scp -rp${4} ${5} ${2}@${3}:${6}
else
vistaPost $1 $2 $3 $4 $5 $6
scp -p${4} ${5} ${2}@${3}:${6}
fi
;;
tunnel)
# 1 2 3 4 5
#sk tunel usuario ip puerto puertoProxy
vistaTunnel $1 $2 $3 $4 $5
ssh -f -C2qTnN -D ${5} ${2}@${3} -p${4}
if [ $? -eq 0 ]; then
echo -e "${verde}Tunel Generado Correctamente ${blanco} - PID: ${celeste}$(pgrep -f 'ssh -f -C2qTnN.*')${blanco}"
else
echo -e "${rojo}Fallo la creacion del Tunel${blanco}"
fi
;;
help|ayuda)
ayuda
;;
esac
done
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment