Información
Actualidad
Aquí encontraras noticias de actualidad sobre Gnu Linux y Open Source.

Además de información sobre la comunidad LiGNUx.
Distribuciones y entornos
Información ordenada sobre los diferenes sistema operativos Gnu Linux y las diferentes opciones de entornos gráficos.
Tutoriales y guías
Todos los pasos e informaciones que puedes desear para tu día a día.
Tutoriales
Tutoriales
Programación
Programación
About Us
Get to know the people behind the code and the mission behind the work
how we handle data
Privacy
Security
Legal

SSH con claves y sin contraseñas

3 enero, 2017

El sistema de claves pública/privada es mucho más seguro que el uso de contraseñas y además, si quieres, te ahorras la necesidad de recordarlas.

536px-public_key_shared_secret-svg

En esta imagen se puede ver el funcionamiento de los pares de llaves. Si os interesa este tema podéis encontrar más información en Wikipedia.

Requisitos:

  • Tener el paquete "openssh-server" instalado.
  • Tener un usuario con acceso a la terminal y que no sea "root".
  • Tener el directorio ".ssh" en el "home" de ese usuario.

Generamos el par en la máquina cliente:
$ ssh-keygen -t rsa

Si no queremos que el servidor nos pida contraseña cada vez que iniciamos sesión dejamos en blanco el "passphrase".

Una vez tengamos las llaves tenemos que copiar la pública al servidor (podemos hacerlo mediante SSH):
$ scp ~/.ssh/llave.pub usuario@ejemplo.com:/home/usuario

Nos conectamos al servidor:
$ ssh usuario@ejemplo.com

Dentro del servidor añadimos la llave pública al archivo de llaves autorizadas:
$ cat ~/llave.pub >> ~/.ssh/authorized_keys
$ cp llave.pub ~/.ssh

Para aceptar conexiones desde cualquier máquina que tenga la llave privada editamos "~/.ssh/authorized_keys" y cambiamos el hostname de la máquina cliente por un "*".

Para que funcione los directorios y los archivos deben tener unos permisos concretos:
$ sudo chmod 700 ~/.ssh
$ sudo chmod 600 ~/.ssh/authorized_keys

Editamos la configuración del openssh-server:
$ sudo nano /etc/ssh/sshd_config

Las siguientes líneas deben quedar así:
ServerKeyBits 2048
PermitRootLogin no
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication no
UsePAM no

Una vez hecho esto reiniciamos el servicio:
$ sudo service ssh restart

El comando para conectarnos desdel cliente:
$ sudo ssh -i llave usuario@ejemplo.com

Y con esto ya lo tenemos. El servidor no nos pedirá contraseñas para acceder y seguirá siendo seguro.

Escrito por Xaldiks

Suscribirse
Notificarme las
guest
4 Comentarios
Los más recientes
Los más antiguos Más votados
Feedbacks en línea
Ver todos los comentarios
LiGNUx trabaja sobre una licencia de Creative Commons Reconocimiento 4.0 Internacional.
cloudflagpaperclipprinterfile-emptyfilm-playcamera-videopicturelaptop-phonebriefcasecrossmenu
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram