Linux para las masas

Primero te ignoran. Luego se rien de ti. Luego pelean contigo. Y entonces ganas. Gandhi

SSH usando llaves públicas

leave a comment »

Tener que escribir mi clave cada vez que quiero conectarme a los servidores se hace pesado, segundo tener la conexión de ssh abierta desde el exterior requiere aumentar la seguridad, la mejor solución es utilizar el sistema de llave pública/privada. De esta manera sólo puedo conectarme a mis servidores desde mi laptop que corre Debian y desde mi celular que usa Android.

Se requieren dos cosas: una llave privada y una pública. Ambas se generan a la vez y luego toca exportar a los equipos en cuestión la parte pública de la llave. En mi caso luego de generar las llaves lo hice desde adentro de mi red..

Los pasos a seguir en Debian/Ubuntu son:

Desde la consola ir al directorio /home/usuario/.ssh/

luego el comando a utlizar es:

ssh-keygen -t rsa

Seguir las instrucciones a medida que salen en pantalla:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/b/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): <— esto es para agregar seguridad (usando una clave en el equipo)
Enter same passphrase again:
Your identification has been saved in /home/b/.ssh/id_rsa.
Your public key has been saved in /home/b/.ssh/id_rsa.pub.

Si quieren una llave más fuerte pueden usar el comando:

ssh-keygen -t rsa -b 4096

El estándar es una llave de 2048 bits

Luego hay que exportar la parte pública de la llave, pueden usar el comando scp

ssh-copy-id @/

Eso permite copiar el archivo de manera segura por medio de ssh

Luego hay que hacer unos cambios en el servidor, hay que modificar el archivo /etc/ssh/sshd_config

Las siguientes líneas hay que modificarlas y que digan lo siguiente:

RSAAuthentication yes
PubkeyAuthentication yes
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no

Guardar los cambios y luego dar el siguiente comando:

sudo service ssh restart (si es Ubuntu)

en Debian hay que ser root y dar el comando

service ssh restart

De ahora en adelante el servidor no va a pedir la clave para conectarse por ssh, pero tampoco dejará que nadie se conecte si no recibe la parte privada de la llave del usuario.

En Android uitilizó ConnectBot, montan el teléfono como un USB y copias desde /home/usuario/.ssh/ el archivo id_rsa que contiene la parte privada de la llave. Luego en ConnectBot importas el archivo y listo.

Aumentaron la seguridad de sus servidores y se ahorran tener que estar dando la clave cada vez que se quieren conectar.

Written by scrooge_74

marzo 7, 2011 a 12:04 pm

Publicado en Linux, redes, seguridad, servidor

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: