Relación de Confianza conexión SSH

EL presente instructivo tiene como finalidad la configuración de relación de confianza (no se requiere de password para validar) entre dos servidores (maestro y esclavo) para la conexión de servicio ssh. La conexión es efectuada a través del intercambio de llaves públicas entre servidores.

Se darán a conocer dos (02) formas de establecer la relación de confianza, el método manual y utilizando el comando ssh-copy-id

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe contar con instalación del servicio SSH (servidor y cliente)

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 8.0 (actualmente estable)

Aplicaciones o configuraciones complementarias:

CONFIGURACION METODO MANUAL:

Servidor Maestro:

1. Iniciar sesión usuario postgres:

operador@postgreSQL01:/# su postgres

2. Generar par(pública y privada) de llaves ssh usuario postgres:

postgres@postgreSQL01:/$ ssh-keygen -t rsa
  • Colocar nombre del archivo o sólo presionar enter y dejar vacio (el sistema colocará un nombre por defecto)
  • Enter file in which to save the key (/var/lib/postgresql/.ssh/id_rsa):"PRESIONAR ENTER"
    Created directory '/var/lib/postgresql/.ssh'
  • Colocar contraseña para el par de llaves o sólo presionar enter y dejar vacio (sin contraseña)
  • Enter passphrase (empty for no passphrase):"DEJAR VACIO"
  • Solicita repetir la contraseña
  • Enter same passphrase again:"DEJAR VACIO"

    Dejar en blanco, de esta forma no es necesario colocar contraseña cada vez que se utilicen las llaves

3. Copiar llave pública al servidor esclavo:

postgres@postgreSQL01:/$ scp /var/lib/postgresql/.ssh/id_rsa.pub usuario_valido@IP_esclavo:/tmp

Servidor Esclavo:

4. Copiar llave públia de servidor maestro a archivo especial “authorized_keys” del servidor esclavo:

operador@postgreSQL02:/# cat /tmp/id_rsa.pub >> /var/lib/postgresql/.ssh/authorized_keys

5. Comprobar permisos y dueño del archivo:

operador@postgreSQL02:/# chow postgres:postgres /var/lib/postgresql/.ssh/authorized_keys
operador@postgreSQL02:/# chmod 644 /var/lib/postgresql/.ssh/authorized_keys

6. Editar archivo configuración sshd:

operador@postgreSQL02:/# nano /etc/ssh/sshd_config

7. Agregar o descomentar la siguientes línea:

AuthorizedKeysFile      %h/.ssh/authorized_keys

8. Reiniciar servicio:

operador@postgreSQL02:/# /etc/init.d/ssh restart

Nota: hasta este punto ya existe una relación de confianza entre el servidor maestro y el servidor esclavo, ahora se debe efectuar la relación de confianza entre el servidor esclavo y el servidor maestro.

9. Iniciar sesion usuario postgres:

operador@postgreSQL02:/# su postgres

10. Generar llave ssh usuario postgres:

postgres@postgreSQL02:/$ ssh-keygen -t rsa
  • Colocar nombre del archivo o sólo presionar enter y dejar vacio (el sistema colocará un nombre por defecto)
  • Enter file in which to save the key (/var/lib/postgresql/.ssh/id_rsa):"PRESIONAR ENTER"
    Created directory '/var/lib/postgresql/.ssh'
  • Colocar contraseña para el par de llaves o sólo presionar enter y dejar vacio (sin contraseña)
  • Enter passphrase (empty for no passphrase):"DEJAR VACIO"
  • Solicita repetir la contraseña
  • Enter same passphrase again:"DEJAR VACIO"

    Dejar en blanco, de esta forma no es necesario colocar contraseña cada vez que se utilicen las llaves

11. Copiar llave pública del servidor esclavo al maestro:

operador@postgreSQL02:/# scp /var/lib/postgresql/.ssh/id_rsa.pub usuario_valido@IP_maestro:/tmp

Servidor Maestro:

12. Copiar llave pública del servidor esclavo a archivo especial authorized_keys del servidor maestro:

operador@postgreSQL01:/# cat /tmp/id_rsa.pub >> /var/lib/postgresql/.ssh/authorized_keys

13. Comprobar permisos y dueño del archivo:

operador@postgreSQL01:/# chow postgres:postgres /var/lib/postgresql/.ssh/authorized_keys
operador@postgreSQL01:/# chmod 644 /var/lib/postgresql/.ssh/authorized_keys

14. Editar archivo configuración sshd:

operador@postgreSQL01:/# nano /etc/ssh/sshd_config

15. Agregar o descomentar la siguientes línea:

AuthorizedKeysFile      %h/.ssh/authorized_keys

16. Reiniciar servicio:

operador@postgreSQL01:/# /etc/init.d/ssh restart

Nota: hasta este punto ya existe una relación de confianza entre maestro – esclavo y esclavo -maestro

Comprobar, tanto servidor maestro como esclavo:

17. Iniciar sesión usuario postgres:

operador@postgreSQL0*:/# su postgres

18. Iniciar conexión remota vía ssh

postgres@postgreSQL0*:/$ ssh postgres@ip_servidor_(maestro o esclavo) -i ~/.ssh/id_rsa

Nota: En caso de haber colocado contraseña a las llaves (punto 2.2), en éste paso se solicitará colocarla.

CONFIGURACION COMANDO SSH-COPY-ID

La forma más fácil de agregar la clave pública es con el uso del comando ssh-copy-id, en nuestro caso el usuario “postgres” es un usuario de sistema, no posee contraseña de acceso a la consola de bash, es por ello que el comando ssh-copy-id no puede ser utilizado, pero si funciona para otros usuarios, ejemplo:

Copia la llave publica del usuario “operador”, desde el servidor esclavo (192.168.1.35) al servidor maestro (192.168.1.125):

1. Copiar la llave pública

operador@esclavo:~$ ssh-copy-id operador@192.168.1.125
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/operador/.ssh/id_rsa.pub"
The authenticity of host '191.168.1.125 (192.168.1.125)' can't be established.
ECDSA key fingerprint is SHA256:OMWi9spRNGtpsWZqm1h6ibVQcsDiU3Gje0bOR2cJZEA.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

2. Colocar contraseña del usuario “operador”

operador@192.168.1.125's password:
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'operador@192.168.1.125'"
and check to make sure that only the key(s) you wanted were added.

3. En éste punto ya ha sido copiado la llave pública:

operador@esclavo:~$ ssh operador@192.168.1.125

Enlaces:
generando tu clave publica ssh

Anuncios

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