Created
August 8, 2020 02:09
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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