El siguiente procedimiento configura un sistema de clave pública en el que la clave pública del cliente se utiliza para la autenticación en el servidor. El usuario también debe crear un par de clave pública y clave privada.
En el procedimiento, los términos cliente y host local hacen referencia al sistema en el que un usuario introduce el comando ssh. Los términos servidor y host remoto hacen referencia al sistema al que el cliente está intentando acceder.
Antes de empezar
Debe asumir el rol root. Para obtener más información, consulte Uso de sus derechos administrativos asignados de Protección de los usuarios y los procesos en Oracle Solaris 11.2 .
En el archivo de configuración del cliente, /etc/ssh/ssh_config, escriba la siguiente entrada:
HostbasedAuthentication yes
Para ver la sintaxis del archivo, consulte la página del comando man ssh_config(4).
En el archivo de configuración del servidor, /etc/ssh/sshd_config, escriba la misma entrada:
HostbasedAuthentication yes
Para ver la sintaxis del archivo, consulte la página del comando man sshd_config(4).
Para obtener más información, consulte la sección FILES de la página del comando man sshd(1M).
client-host
client-host
Establezca IgnoreRhosts en no en el archivo /etc/ssh/sshd_config.
## sshd_config IgnoreRhosts no
## sshd_config IgnoreUserKnownHosts no
Para obtener instrucciones para el usuario, consulte Cómo generar un par de clave pública y clave privada para utilizar con el shell seguro.
Las claves de host se almacenan en el directorio /etc/ssh. Las claves suelen ser generadas por el daemon sshd al iniciar por primera vez.
En el cliente, escriba el siguiente comando en una línea sin barra diagonal inversa.
# cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \ 'cat >> /etc/ssh/ssh_known_hosts && echo "Host key copied"'
Client and server could not agree on a key exchange algorithm: client "diffie-hellman-group-exchange-sha256,diffie-hellman-group- exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1", server "gss-group1-sha1-toWM5Slw5Ew8Mqkay+al2g==". Make sure host keys are present and accessible by the server process. See sshd_config(4) description of "HostKey" option.
Cuando el archivo se copia, se muestra el mensaje “Host key copied” (clave de host copiada).
Cada línea en el archivo /etc/ssh/ssh_known_hosts consta de campos que están separados por espacios:
hostnames algorithm-name publickey comment
## /etc/ssh/ssh_known_hosts File RemoteHost <copied entry>
En el siguiente ejemplo, cada host está configurado como servidor y como cliente. Un usuario en cualquiera de los hosts puede iniciar una conexión ssh al otro host. La siguiente configuración hace que cada host sea un servidor y un cliente:
En cada host, los archivos de configuración de Shell seguro contienen las siguientes entradas:
## /etc/ssh/ssh_config HostBasedAuthentication yes # ## /etc/ssh/sshd_config HostBasedAuthentication yes IgnoreRhosts no
En cada host, el archivo shosts.equiv contiene una entrada para el otro host:
## /etc/ssh/shosts.equiv on machine2 machine1
## /etc/ssh/shosts.equiv on machine1 machine2
La clave pública de cada host está en el archivo /etc/ssh/ssh_known_hosts del otro host:
## /etc/ssh/ssh_known_hosts on machine2 … machine1
## /etc/ssh/ssh_known_hosts on machine1 … machine2
Los usuarios tienen una cuenta en ambos hosts. Por ejemplo, la siguiente información aparecerá para el usuario John Doe:
## /etc/passwd on machine1 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh
## /etc/passwd on machine2 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh