{"id":317,"date":"2021-12-20T16:26:58","date_gmt":"2021-12-20T22:26:58","guid":{"rendered":"https:\/\/digigato.com.mx\/?post_type=portfolio&#038;p=317"},"modified":"2021-12-20T16:33:55","modified_gmt":"2021-12-20T22:33:55","slug":"317","status":"publish","type":"portfolio","link":"https:\/\/digigato.com.mx\/index.php\/portfolio-archive\/317\/","title":{"rendered":"Script de copia SCP\/SSH usando CyberArk (Tokenizador)"},"content":{"rendered":"<p>En sus andanzas como consultores, usuarios, staff de TI, metiches de todas las areas (jejeje) es posible que encuentren a un amig@ que diga &#8220;usar esta &amp;%##!! de CyberArk para copiar es un lio, eso de poner strings gigantes no es lo mio&#8221;, bueno, pues aqu\u00ed una forma de hacerlo m\u00e1s simple (que no r\u00e1pido) para esas situaciones.<\/p>\n<ul>\n<li><strong>\u00bfEs Seguro?<\/strong> Pero por supuesto que no, por eso dejo el c\u00f3digo pa que le eche un ojo y lo use, mejore, rehaga, invoque a satan&#8230;<\/li>\n<li><strong>\u00bfMe vas a cobrar por usarlo gato del demonio?<\/strong> 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 &#8220;Nel es mio y de nadie mas&#8221; si es asi, pues con la pena bro\/sis, no lo podr\u00e1s usar (bueno o sea si, pero me doler\u00e1 saber que no aportamos nada a la humanidad)<\/li>\n<li><strong>\u00bfEntonces si lo puedo usar?<\/strong> Si, pero pues, ya sabes, karma llama a karma.<\/li>\n<li><strong>\u00bfY si te quiero invitar un cafe?<\/strong> La neta ser\u00eda super chido, PERO, \u00bfsabes? 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&#8230; si quieres ser chido de coraz\u00f3n, dales un cafe a ellos, para mi ser\u00e1 como si me hubieras invitado una pizza (y el universo te lo agradecer\u00e1)<\/li>\n<li>Tengo otra pregunta, <strong>\u00bfpuedo contactarte?<\/strong> \u00a1Claro! Aunque a veces tardo en responder, ten por seguro que lo hare.<\/li>\n<\/ul>\n<p>Aqu\u00ed mi ultra chaf\u00f3n c\u00f3digo, si les son utiles ondas as\u00ed, subir\u00e9 m\u00e1s (o en su defecto lo pondr\u00e9 en Github)<br \/>\nSaludos del minino digital<\/p>\n<p>(empieza a copiar a partir de la siguiente l\u00ednea)<\/p>\n<blockquote><p>#!\/bin\/bash<br \/>\n#Filename: scp_cybark.sh<br \/>\n###############################################################################<br \/>\n# Secury Copy Proxy (SCPP) para CyberArk(Tm)<br \/>\n# Requiere tener una intefaz VT100 o similar con soporte a ANSI o si no, se va ver harto feo por los colores heheh<br \/>\n# 2019(C) EL DIGIGATO (que camina)<br \/>\n# jorgehpm(at)digigato.com.mx<br \/>\n# Si lo usas modificas o derivas, no, no pido lana soloq ue tu mismo hagas gratuita la derivacion y pues se amable<br \/>\n# y di donde obytuviste la idea, base, etc. Gracias.<br \/>\n# Pa cuestiones legales esta chuncha es GPL v2<br \/>\n###############################################################################<\/p>\n<p># Usuario LDAP asignado para uso con CyberArk<br \/>\nusrCArk=&#8217;usuario&#8217; #Definitivamente aqui va el usuario asignado, algo ocmo: godinez999 hehehe<br \/>\n# Servidor de validaci\u00f3n cyberArk (o sea nuestro generador de Tokens)<br \/>\nipCArk=&#8217;0.0.0.0&#8242; #Obvio no es 0.0.0.0, pon aquio tu server duh!<\/p>\n<p># Variables de runtime<br \/>\naccn=&#8221;<br \/>\noutFile=&#8221;<br \/>\nipServ=&#8221;<br \/>\nusrServ=&#8221;<br \/>\ninFile=&#8221;<\/p>\n<p># Carta de colores, porque&#8230; si<br \/>\nNegro=&#8217;\\033[0;30m&#8217;<br \/>\nRojo0=&#8217;\\033[0;31m&#8217;<br \/>\nVerde=&#8217;\\033[0;32m&#8217;<br \/>\nCafe0=&#8217;\\033[0;33m&#8217;<br \/>\nAzul0=&#8217;\\033[0;34m&#8217;<br \/>\nMordo=&#8217;\\033[0;35m&#8217;<br \/>\nCyan0=&#8217;\\033[0;36m&#8217;<br \/>\nGrisC=&#8217;\\033[0;37m&#8217;<br \/>\nGrisO=&#8217;\\033[1;30m&#8217;<br \/>\nRojoE=&#8217;\\033[1;31m&#8217;<br \/>\nVerdE=&#8217;\\033[1;32m&#8217;<br \/>\nAmari=&#8217;\\033[1;33m&#8217;<br \/>\nAzulE=&#8217;\\033[1;34m&#8217;<br \/>\nMordE=&#8217;\\033[1;35m&#8217;<br \/>\nCyanE=&#8217;\\033[1;36m&#8217;<br \/>\nBlanc=&#8217;\\033[1;37m&#8217;<br \/>\nNoCol=&#8217;\\033[0m&#8217;<\/p>\n<p># Verificamos que el numero de parametros sea correcto, si no, salimos.<br \/>\nif [ &#8220;$#&#8221; -ne 5 ]; then<br \/>\necho -e &#8220;${RojoE}[ERROR] ${Blanc}Recibi $# parametros. \u00a1Es necesario poner todos los argumentos!${NoCol}&#8221;<br \/>\necho -e &#8220;Ejemplo subir archivo:\\n $0 sube path_local\/archivo.up servidor usuario_remoto path_remoto_destino&#8221;<br \/>\necho -e &#8220;Ejemplo bajar archivo:\\n $0 baja path_remoto\/archivo.down servidor usuario_remoto path_local_destino&#8221;<br \/>\necho -e &#8220;${Blanc}2018(c) ${GrisO}BI${AzulE}VA${NoCol}\/${Blanc}AppSupport SCPP para ${GrisO}Cyber${AzulE}Ark${Blanc}.${NoCol}&#8221;<br \/>\nexit 1<br \/>\nfi<br \/>\n# Si llegamos aqui tenemos los parametros suficientes; los asignamos dependemos si es subir o bajar<br \/>\n# en el orden establecido (cualquier mismatch el scp no lo tomara y dara error)<br \/>\naccn=$1<br \/>\noutFile=$2<br \/>\nipServ=$3<br \/>\nusrServ=$4<br \/>\ninFile=$5<br \/>\nif [ $accn == &#8220;sube&#8221; ]; then<br \/>\n# si se envia<br \/>\nclear<br \/>\necho sube<br \/>\necho &#8220;Carga de ${outFile} a ${inFile} desde ${ipServ} como ${usrServ}&#8221;<br \/>\n# echo &#8220;scp ${outFile} ${usrCArk}@${usrServ}@${ipServ}@${ipCArk}:${inFile}&#8221;<br \/>\nscp ${outFile} ${usrCArk}@${usrServ}@${ipServ}@${ipCArk}:${inFile}<br \/>\necho &#8220;\u00a1Hecho! Revisar por posibles errores o archivos\/path invalidos&#8221;<br \/>\nexit 0<br \/>\nelse<br \/>\nif [ $accn == &#8220;baja&#8221; ]; then<br \/>\n# si se recibe<br \/>\nclear<br \/>\necho &#8220;Descarga de ${outFile} a ${inFile} desde ${ipServ} como ${usrServ}&#8221;<br \/>\n# echo &#8220;scp ${usrCArk}@${usrServ}@${ipServ}@${ipCArk}:${outFile} ${inFile}&#8221;<br \/>\nscp ${usrCArk}@${usrServ}@${ipServ}@${ipCArk}:${outFile} ${inFile}<br \/>\necho &#8220;\u00a1Hecho! Revisar por posibles errores o archivos\/path invalidos&#8221;<br \/>\nexit 0<br \/>\nelse<br \/>\nclear<br \/>\necho -e &#8220;${RojoE}[ERROR] ${Blanc}\u00a1No se recibio un parametro de accion valido!${NoCol}&#8221;<br \/>\necho -e &#8220;Ejemplo subir archivo:\\n $0 sube path_local\/archivo.up servidor usuario_remoto path_remoto_destino&#8221;<br \/>\necho -e &#8220;Ejemplo bajar archivo:\\n $0 baja path_remoto\/archivo.down servidor usuario_remoto path_local_destino&#8221;<br \/>\necho -e &#8220;${Blanc}2018(c) ${GrisO}BI${AzulE}VA${NoCol}\/${Blanc}AppSupport SCPP para ${GrisO}Cyber${AzulE}Ark${Blanc}.${NoCol}&#8221;<br \/>\nexit 1<br \/>\nfi<br \/>\nfi<br \/>\n#EOF<\/p><\/blockquote>\n<p>Eso es todo amigos (o sea una linea antes de esta deja de copiar, o donde dice EOF (duh!)<\/p>\n","protected":false},"featured_media":0,"menu_order":0,"template":"","portfolio_categories":[19],"portfolio_tags":[],"class_list":["post-317","portfolio","type-portfolio","status-publish","hentry","portfolio_categories-code"],"acf":[],"_links":{"self":[{"href":"https:\/\/digigato.com.mx\/index.php\/wp-json\/wp\/v2\/portfolio\/317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digigato.com.mx\/index.php\/wp-json\/wp\/v2\/portfolio"}],"about":[{"href":"https:\/\/digigato.com.mx\/index.php\/wp-json\/wp\/v2\/types\/portfolio"}],"version-history":[{"count":0,"href":"https:\/\/digigato.com.mx\/index.php\/wp-json\/wp\/v2\/portfolio\/317\/revisions"}],"wp:attachment":[{"href":"https:\/\/digigato.com.mx\/index.php\/wp-json\/wp\/v2\/media?parent=317"}],"wp:term":[{"taxonomy":"portfolio_categories","embeddable":true,"href":"https:\/\/digigato.com.mx\/index.php\/wp-json\/wp\/v2\/portfolio_categories?post=317"},{"taxonomy":"portfolio_tags","embeddable":true,"href":"https:\/\/digigato.com.mx\/index.php\/wp-json\/wp\/v2\/portfolio_tags?post=317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}