Sistemas Operativos > GNU/Linux

 Script para creación de archivos de conexión y PPK

(1/1)

RadicalEd:
Un script shell para crear un PPK desde Linux, sin necesidad de usar el puttygen de Windows


--- Código: C ---#!/bin/bash# RadicalEd# Genera clave de conexión ssh y archivo ppk RED='\033[0;31m'GREEN='\033[1;32m'BLUE='\033[1;34m'NC='\033[0m'DIRSSH="$HOME/.ssh/"DIRPPK="$HOME/Documentos/proyectos/ppk/" # Se verifica si existe la carpeta donde se guardarán los ppkif ! [ -d ${DIRPPK} ]; then   printf "La carpeta ${BLUE}${DIRPPK}${NC} no existe, será creada!\n\n"   mkdir -p "${DIRPPK}"fi # Se comprobará si existen los programas ssh-keygen y puttygenif ! [ -x "/usr/bin/puttygen" ]; then    echo "Se debe tener instalado el programa puttygen"    exit 1;fiif ! [ -x "/usr/bin/ssh-keygen" ]; then    echo "Se debe tener instalado el programa ssh-keygen"    exit 1;fi # En caso de que no pasen el usuario en los parametros se capturausuario=$1 if [ -z ${usuario} ]; then     echo -n "Nombre de usuario del servidor ssh: "    printf "${BLUE}"    read usuario    printf "${NC}"fiecho "Se creará clave ssh y archivo ppk para el usuario ${GREEN} $usuario ${NC}" # Generación de la clave pública y ppkssh-keygen -t dsa -C $usuario -f ${DIRSSH}$usuario -q -N ""puttygen ${DIRSSH}$usuario -o ${DIRSSH}$usuario.ppk # Se guarda en el path de los ppkmv ${DIRSSH}$usuario.ppk $DIRPPK # Si desea entrar por ssh, se creará un alias en el bashrcecho -n "Desea crear un alias-ssh para entrar por consola (si/no)?: "printf "${BLUE}"read aliasshprintf "${NC}"if [ "$aliassh" = "si" ]; then    echo -n "IP o nombre de servidor: "    printf "${BLUE}"    read servidor    printf "${NC}"     echo "alias ssh$usuario='ssh -i $HOME/.ssh/$usuario $usuario@$servidor'" >> $HOME/.bashrc     #source $HOME/.bashrc    #exec bash     printf "\nSe creó un nuevo alias, lo puedes usar con el comando ${GREEN}ssh$usuario${NC}\n\nRecuerda que antes de poder usar el alias, "fi# Copiar contenido de la llave pública para copiar al servidorprintf "debes copiar la siguiente llave en tu servidor $servidor\n\n$usuario:"cat ${DIRSSH}$usuario.pubprintf "\n" # Se elimina la clave pública creadarm -f ${DIRSSH}$usuario.pubexec bash

Navegación

[0] Índice de Mensajes

Ir a la versión completa