DigiGato

Profesional de TI

Especialista en infraestructura

Ingeniero GCP certificado

Apoyo a estudiantes y pequeñas empresas ¡gratis!

Proyectos freelance

DigiGato

Profesional de TI

Especialista en infraestructura

Ingeniero GCP certificado

Apoyo a estudiantes y pequeñas empresas ¡gratis!

Proyectos freelance

Script de copia SCP/SSH usando CyberArk (Tokenizador)

  • bash: código

En sus andanzas como consultores, usuarios, staff de TI, metiches de todas las areas (jejeje) es posible que encuentren a un amig@ que diga “usar esta &%##!! de CyberArk para copiar es un lio, eso de poner strings gigantes no es lo mio”, bueno, pues aquí una forma de hacerlo más simple (que no rápido) para esas situaciones.

  • ¿Es Seguro? Pero por supuesto que no, por eso dejo el código pa que le eche un ojo y lo use, mejore, rehaga, invoque a satan…
  • ¿Me vas a cobrar por usarlo gato del demonio? Nop, ni que fuera del PT o MORENA (hehehe) solo te pido que seas buena onda y digas de donde obtuviste la idea Y que hagas el script gratuito, obvio si es usado en empresa, avisa a los patrones pa que no te caigan a palos y te digan “Nel es mio y de nadie mas” si es asi, pues con la pena bro/sis, no lo podrás usar (bueno o sea si, pero me dolerá saber que no aportamos nada a la humanidad)
  • ¿Entonces si lo puedo usar? Si, pero pues, ya sabes, karma llama a karma.
  • ¿Y si te quiero invitar un cafe? La neta sería super chido, PERO, ¿sabes? hay muchas mascotas sin hogar, abuelitos en albergues sin comida o personas de la calle que no son aceptadas en albergues por falta de lana… si quieres ser chido de corazón, dales un cafe a ellos, para mi será como si me hubieras invitado una pizza (y el universo te lo agradecerá)
  • Tengo otra pregunta, ¿puedo contactarte? ¡Claro! Aunque a veces tardo en responder, ten por seguro que lo hare.

Aquí mi ultra chafón código, si les son utiles ondas así, subiré más (o en su defecto lo pondré en Github)
Saludos del minino digital

(empieza a copiar a partir de la siguiente línea)

#!/bin/bash
#Filename: scp_cybark.sh
###############################################################################
# Secury Copy Proxy (SCPP) para CyberArk(Tm)
# Requiere tener una intefaz VT100 o similar con soporte a ANSI o si no, se va ver harto feo por los colores heheh
# 2019(C) EL DIGIGATO (que camina)
# jorgehpm(at)digigato.com.mx
# Si lo usas modificas o derivas, no, no pido lana soloq ue tu mismo hagas gratuita la derivacion y pues se amable
# y di donde obytuviste la idea, base, etc. Gracias.
# Pa cuestiones legales esta chuncha es GPL v2
###############################################################################

# Usuario LDAP asignado para uso con CyberArk
usrCArk=’usuario’ #Definitivamente aqui va el usuario asignado, algo ocmo: godinez999 hehehe
# Servidor de validación cyberArk (o sea nuestro generador de Tokens)
ipCArk=’0.0.0.0′ #Obvio no es 0.0.0.0, pon aquio tu server duh!

# Variables de runtime
accn=”
outFile=”
ipServ=”
usrServ=”
inFile=”

# Carta de colores, porque… si
Negro=’\033[0;30m’
Rojo0=’\033[0;31m’
Verde=’\033[0;32m’
Cafe0=’\033[0;33m’
Azul0=’\033[0;34m’
Mordo=’\033[0;35m’
Cyan0=’\033[0;36m’
GrisC=’\033[0;37m’
GrisO=’\033[1;30m’
RojoE=’\033[1;31m’
VerdE=’\033[1;32m’
Amari=’\033[1;33m’
AzulE=’\033[1;34m’
MordE=’\033[1;35m’
CyanE=’\033[1;36m’
Blanc=’\033[1;37m’
NoCol=’\033[0m’

# Verificamos que el numero de parametros sea correcto, si no, salimos.
if [ “$#” -ne 5 ]; then
echo -e “${RojoE}[ERROR] ${Blanc}Recibi $# parametros. ¡Es necesario poner todos los argumentos!${NoCol}”
echo -e “Ejemplo subir archivo:\n $0 sube path_local/archivo.up servidor usuario_remoto path_remoto_destino”
echo -e “Ejemplo bajar archivo:\n $0 baja path_remoto/archivo.down servidor usuario_remoto path_local_destino”
echo -e “${Blanc}2018(c) ${GrisO}BI${AzulE}VA${NoCol}/${Blanc}AppSupport SCPP para ${GrisO}Cyber${AzulE}Ark${Blanc}.${NoCol}”
exit 1
fi
# Si llegamos aqui tenemos los parametros suficientes; los asignamos dependemos si es subir o bajar
# en el orden establecido (cualquier mismatch el scp no lo tomara y dara error)
accn=$1
outFile=$2
ipServ=$3
usrServ=$4
inFile=$5
if [ $accn == “sube” ]; then
# si se envia
clear
echo sube
echo “Carga de ${outFile} a ${inFile} desde ${ipServ} como ${usrServ}”
# echo “scp ${outFile} ${usrCArk}@${usrServ}@${ipServ}@${ipCArk}:${inFile}”
scp ${outFile} ${usrCArk}@${usrServ}@${ipServ}@${ipCArk}:${inFile}
echo “¡Hecho! Revisar por posibles errores o archivos/path invalidos”
exit 0
else
if [ $accn == “baja” ]; then
# si se recibe
clear
echo “Descarga de ${outFile} a ${inFile} desde ${ipServ} como ${usrServ}”
# echo “scp ${usrCArk}@${usrServ}@${ipServ}@${ipCArk}:${outFile} ${inFile}”
scp ${usrCArk}@${usrServ}@${ipServ}@${ipCArk}:${outFile} ${inFile}
echo “¡Hecho! Revisar por posibles errores o archivos/path invalidos”
exit 0
else
clear
echo -e “${RojoE}[ERROR] ${Blanc}¡No se recibio un parametro de accion valido!${NoCol}”
echo -e “Ejemplo subir archivo:\n $0 sube path_local/archivo.up servidor usuario_remoto path_remoto_destino”
echo -e “Ejemplo bajar archivo:\n $0 baja path_remoto/archivo.down servidor usuario_remoto path_local_destino”
echo -e “${Blanc}2018(c) ${GrisO}BI${AzulE}VA${NoCol}/${Blanc}AppSupport SCPP para ${GrisO}Cyber${AzulE}Ark${Blanc}.${NoCol}”
exit 1
fi
fi
#EOF

Eso es todo amigos (o sea una linea antes de esta deja de copiar, o donde dice EOF (duh!)