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
Ir a la versión completa