User Tools

Site Tools


cluster:configuracion_ssh

Configuración del servicio de SSH entre los nodos

Control de versiones

Fecha Actividad Autor
24/07/2010 Publicación inicial Jorge Iván Meza Martínez.

Introducción

En este capítulo se establecerán relaciones de confianza entre los nodos utilizando el protocolo SSH para permitir conexiones seguras sin la necesidad de autenticarse nuevamente en cada uno de ellos.

Tiempo estimado

45 minutos.

Precondición

  • El nodo c-head y los nodos c-wn1 y c-wn2 han sido instalados y configurados previamente.

Supuestos

Ninguno.

Iniciar las máquinas

Inicie las máquinas según como corresponda e inicie una sesión como usuario root.

Máquinas físicas

Encienda las máquinas correspondientes al nodo principal c-head y a los nodos trabajadores del cluster: c-wn1 y c-wn2.

Virtualización con KVM

Desde el servidor es necesario ejecutar los siguientes comandos para iniciar las máquinas virtuales.

$ virsh start c-head
 
$ virsh start c-wn1
 
$ virsh start c-wn2

Desde el equipo cliente que se utiliza para la administración de las máquinas virtuales ejecute los siguientes comandos para conectarse a la consola de los nodos trabajadores.

$ virt-viewer -c qemu+ssh://SERVIDOR/system c-head
 
$ virt-viewer -c qemu+ssh://SERVIDOR/system c-wn1
 
$ virt-viewer -c qemu+ssh://SERVIDOR/system c-wn2

Virtualización con VirtualBox

$ VBoxManage startvm "c-head"
 
$ VBoxManage startvm "c-wn1"
 
$ VBoxManage startvm "c-wn2"

Realizar la configuración general del servicio

Los pasos de configuración descritos a continuación se deberán realizar en c-head y desde allí serán propagados a los nodos trabajadores.

Realizar una copia de seguridad de la configuración actual del servicio.

# mv /etc/ssh/sshd_config /etc/ssh/sshd_config.orig

Crear el nuevo archivo de configuración del servicio.

# vi /etc/ssh/sshd_config
sshd_config
Protocol 2
 
# No passwords
PermitRootLogin without-password
## PasswordAuthentication no
PermitEmptyPasswords no
UsePAM no
 
# Pub keys configuration
RSAAuthentication yes
DSAAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
KerberosAuthentication no
GSSAPIAuthentication no
GSSAPICleanupCredentials no
 
# Hostbased and pubkey yes
PubkeyAuthentication yes
ChallengeResponseAuthentication no
X11Forwarding no
 
# Hostbased
HostbasedAuthentication yes
IgnoreRhosts no
 
#OPTIONALLY DON’T CHECK gethostbyaddr(), TRUST CLIENT
#HostbasedUsesNameFromPacketOnly yes
# chmod 600 /etc/ssh/sshd_config    

Propagar el nuevo archivo de configuración a los nodos trabajadores.

# scp /etc/ssh/sshd_config root@c-wn1:/etc/ssh
 
# scp /etc/ssh/sshd_config root@c-wn2:/etc/ssh

Configurar la autenticación basada en el huésped para root

En el nodo cabeza (c-head) ejecutar los siguientes comandos.

# cd /root
 
# ssh-keyscan -t rsa,dsa c-head c-head.micluster.com c-nfs c-nfs.micluster.com c-wn1 c-wn1.micluster.com c-wn2 c-wn2.micluster.com > ssh_known_hosts
 
# mv ssh_known_hosts /etc/ssh/ssh_known_hosts
 
# chown root:root /etc/ssh/ssh_known_hosts
 
# chmod 644 /etc/ssh/ssh_known_hosts

Propagar el archivo ssh_known_hosts a los nodos trabajadores.

# scp /etc/ssh/ssh_known_hosts root@c-wn1:/etc/ssh
 
# scp /etc/ssh/ssh_known_hosts root@c-wn2:/etc/ssh

Crear el archivo de .shosts

El archivo .shosts corresponde al listado de huéspedes contenidos en ssh_known_hosts sin sus respectivas llaves. Este archivo también deberá ser replicado en los demás nodos del cluster.

En el nodo cabeza (c-head) ejecutar los siguientes comandos.

# cut -d' ' -f1 < /etc/ssh/ssh_known_hosts|sort -u | grep -v , > shosts
 
# mv shosts /root/.shosts
 
# chown root:root /root/.shosts
 
# chmod 600 /root/.shosts

Propagar el archivo .shosts a los nodos trabajadores.

# scp /root/.shosts root@c-wn1:/root
 
# scp /root/.shosts root@c-wn2:/root

Actualizar la configuración de los clientes

Es necesario indicarle al cliente SSH que confíe en el método de autenticación basado en los huéspedes recién configurado. Para hacer esto es necesario realizar el siguiente paso en cada uno de los nodos del cluster.

# vi /etc/ssh/ssh_config
 
    HostbasedAuthentication   yes
    EnableSSHKeysign          yes

Propagar el archivo ssh_config a los nodos trabajadores.

# scp /etc/ssh/ssh_config root@c-wn1:/etc/ssh
 
# scp /etc/ssh/ssh_config root@c-wn2:/etc/ssh

Reiniciar el servicio de SSH

Ejecutar este comando en cada uno de los nodos del cluster.

# /etc/init.d/sshd restart

Verificar la autenticación basada en el huésped para root

Si la configuración de la autenticación basada en el huésped fue exitosa, el usuario root podrá iniciar una sesión SSH en cualquier nodo desde cualquier otro sin necesidad de autenticarse nuevamente con una contraseña.

Por ejemplo, desde el c-wn1 podrá abrir sesiones seguras a c-wn2 y c-head sin que se requiera una contraseña para el usuario root.

# hostname
 
    c-wn1.micluster.com
 
# ssh root@c-head
 
    Last login: Mon Jun  7 20:44:42 2010 from c-wn1
 
# hostname
 
    c-head.jorgeivanmeza.com

Enlaces

cluster/configuracion_ssh.txt · Last modified: 2012/02/26 22:35 (external edit)