Cómo configurar una clave SSH en Linux

click fraud protection

SSH es una gran tecnología; puedes usarlo para ocultar tráfico VPN con él, asegure su conexión a sitios web y más. El único problema es que cada vez que intenta iniciar sesión en una máquina remota, debe ingresar su contraseña y eso puede ser tedioso. Si usted es un desarrollador que busca conectarse a muchas máquinas a través de SSH a la vez con un script Bash, o simplemente alguien que usa Secure Shell y está cansado de ingresar contraseñas, hay una solución: SSH sin contraseña. Este proceso implica generar una clave SSH segura en la máquina host y compartirla como una forma de acceder a la PC. Esto permitirá que cualquier persona con la clave inicie sesión, incluso si no conoce la contraseña. Aquí se explica cómo hacerlo funcionar.

¿Qué son las claves SSH?

Una clave SSH es un archivo de identificación único que se utiliza con Secure Shell. El propósito de estas claves es proporcionar una identidad única al usuario y marcarlas como "confiables" al iniciar sesión. Estas claves en sí mismas son más que archivos que prueban la identidad de alguien. De hecho, SSH permite a los usuarios iniciar sesión con una clave en lugar de una contraseña. Es decir, en lugar de verse obligado a ingresar una contraseña cada vez que inicia sesión a través de SSH, utiliza la tecla SSH.

instagram viewer

La clave SSH se coloca de forma segura en su instalación de Linux, y desde allí, puede iniciar sesión en la máquina remota todo lo que quiera sin una contraseña.

Generando claves SSH seguras

Generar una clave SSH segura primero requiere que SSH esté en funcionamiento. Entienda que esto no necesariamente significa que necesita tener un servidor SSH. Solo que las herramientas y tecnologías SSH básicas se están ejecutando en su PC con Linux. ¿No estás seguro de cómo configurar SSH? Sigue nuestra guía aquí.

Genere siempre las claves SSH en el sistema que aloja el servidor SSH. No intente generarlos en el servidor que no aloja una sesión SSH, y copiarlo en la máquina host SSH. No funcionará

Para iniciar el proceso de generación de claves, abra una terminal. Dentro de la ventana de terminal, ejecute:

ssh-keygen -t rsa

Corriendo ssh-keygen imprimirá "Generando pares de claves rsa públicas / privadas". Esto significa que el sistema le está generando tanto una clave pública como una clave privada para usar. Las claves públicas son las que cualquiera puede usar, y deberías estar bien dandolas. Una clave privada, por otro lado, es algo que nunca debe compartir con nadie. De ahí el nombre de "privado".

Las teclas se guardarán en /inicio / nombre de usuario / .ssh / id_rsa.

Nota: NO BORRES la ~ / .ssh carpeta, ya que contiene sus claves. Si manipula esta carpeta de alguna manera y luego intenta iniciar sesión en esta máquina de forma remota, el mensaje SSH fallará. También imprimirá una advertencia y lo bloqueará.

Claves SSH en máquina remota

Ahora que las claves SSH (tanto públicas como privadas) están creadas y listas para usar, deberá copiarlas en el sistema desde el que desea iniciar sesión. Es importante que repita este proceso en todas las máquinas en las que planea iniciar sesión a través de SSH. De lo contrario, los que no tengan la clave deberán iniciar sesión con el método de contraseña.

Para agregar las claves al sistema remoto, siga este ejemplo. Asegúrese de hacerlo desde la máquina host a través de SSH.

nombre de usuario ssh @ nombre-host-remoto mkdir -p .ssh

Ejecutar este comando ssh creará un oculto ~ / .ssh carpeta en el directorio de inicio de la máquina remota (con el usuario que se utilizó para iniciar sesión). Esta carpeta es importante, ya que aquí es donde copiaremos los archivos de clave SSH recién generados.

Para copiar los archivos de clave SSH, ejecute otro comando desde la máquina host SSH a la máquina remota que necesita las claves:

cat .ssh / id_rsa.pub | nombre de usuario ssh @ nombre-host-remoto 'cat >> .ssh / optional_keys'

La copia tardará unos segundos, dependiendo de la velocidad de la red. Cuando finalice, la PC remota tendrá las claves generadas y podrá iniciar sesión en la PC host SSH sin contraseña.

Copia de seguridad de claves SSH

Las claves SSH son cosas útiles, y cada una es única. Es por esto que respaldarlos es el mejor curso de acción. El problema es que si lo guarda en otro lugar, alguien puede encontrar su clave SSH, guardarla y usarla para sí mismo. Entonces la pregunta es, ¿cuál es una buena manera de hacer una copia de seguridad de una clave SSH de forma segura? Cifrado

La forma más rápida, más eficiente (y más fácil) de cifrar es usar GnuPG. La herramienta en sí está integrada en la mayoría de las herramientas de cifrado que ya se encuentran en Linux, y es el lugar de referencia cuando se abre el cifrado de archivos. Para instalar GnuPG, abra una terminal y busque en su administrador de paquetes "gpg". El programa debería ser fácil de encontrar, incluso en distribuciones de Linux muy oscuras.

Una vez que GPG esté en funcionamiento, comience el proceso de cifrado comprimiendo su ~ / .ssh directorio en el archivo de archivo tar. Hacer esto hará que no sea necesario encriptar individualmente todos y cada uno de los archivos en ~ / .ssh carpeta.

tar -czvf ssh-stuff.tar.gz /home/username/.ssh

Cuando finalice la compresión, inicie el proceso de cifrado.

Nota: antes de encriptar, ejecute gpg en la terminal para generar un nuevo llavero.

gpg -c ssh-stuff.tar.gz

Cuando se complete el proceso de cifrado, GnuPG publicará un archivo con la etiqueta "ssh-stuff.tar.gz.gpg“. Siéntase libre de eliminar la versión original desbloqueada del archivo. Para descifrar su archivo de respaldo, haga lo siguiente:

gpg ssh-stuff.tar.gz.gpg
watch instagram story