User Tools

Site Tools


wiki:tutorial_ssh

SSH

SSH o Secure Shell, es un protocolo de administración remota que permite a los usuarios controlar sistemas computacionales a través de la Internet. Utiliza técnicas criptográficas para garantizar que todas las comunicaciones hacia y desde el sistema remoto sucedan de manera encriptada. El transporte se hace mediante TCP, por tanto nos garantiza que las órdenes van a llegar a su destino. Existen muchos programas que implementan este protocolo, para windows es recomendable PuTTY o MobaXterm, y para Linux OpenSSH.


OpenSSH divide la responsabilidad en dos programas uno cliente y otro servidor. Para conectarte a los servidores de IATE bastará con el programa cliente.


Instalación OpenSSH en Debian, Ubuntu o Linux Mint

  • sudo apt-get install openssh-server openssh-client


Instalación OpenSSH en Fedora o CentOS/RHEL 7

  • sudo yum -y install openssh-server openssh-clients




Modo de uso SSH



Para conectarte con los servidores del IATE se necesita contar con una cuenta (solicitar en soporte.iate@oac.unc.edu.ar ). Una vez instalado desde la consola se puede utilizar ssh. El comando consta de 3 partes:

  • ssh  $USUARIO@<servidor>

Donde:
            
  • ssh: le indica al sistema que desea abrir una conexión de Shell Segura y cifrada.
  •         
  • usuario: debe ser reemplazado por la cuenta que utilizarás.
  •         
  • servidor: debe ser reemplazado por el sistema a la que desee acceder (pude ser una dirección IP o un dominio).

Una vez establecida la conexión se solicitará una contraseña para poder autenticar el usuario, si deseamos no tener que introducir la contraseña cada vez que nos conectamos podemos utilizar llaves RSA.

IATE

MIRTA 2          $  ssh <usuario>@mirta2
MIRTA 3          $  ssh <usuario>@mirta3
SERSIC           $  ssh <usuario>@sersic
CLEMENTE     $  ssh <usuario>@clemente

CCAD

MENDIETA       $  ssh <usuario>@mendieta.ccad.unc.edu.ar
EULOGIA         $  ssh <usuario>@eulogia.ccad.unc.edu.ar
MULATONA     $  ssh <usuario>@mulatona.ccad.unc.edu.ar



Llaves para OpenSSH

OpenSSH también nos brinda la capacidad de crear claves asimétricas utilizando algoritmos RSA, DSA versión 2 y RSA versión 2. Estas llaves nos proporciona un método más seguro en conexiones ssh y sin la necesidad de contraseñas.


Haciendo una analogía con el mundo real, podríamos paragonar el mecanismo de conexión al cluster mediante llaves SSH con la puerta de nuestra casa. Este mecanismo se compone de un par de archivos llamados public key y private key. El archivo público (public key) representa la cerradura de la puerta mientras que el archivo privado (private key) es la llave que abre dicha cerradura. Así como es posible poner la misma cerradura a muchas puertas y usar la misma llave para entrar a todas copiando la public key en varios servidores, es también factible poner varias cerraduras en la misma puerta y abrir la misma con diferentes llaves copiando varias public keys en el mismo servidor.


Principios básicos para tener en cuenta:

  • La private key debe permanecer siempre bajo custodia de la misma manera que custodiamos la llave de nuestra casa.
  • En NINGÚN CASO se debe comunicar el contenido de la private key (ni al administrador).
  • En caso de reinstalación del sistema operativo recordarse de hacer una copia de la private key,
  • En caso de pérdida de la private key (por ejemplo luego de la reinstalación del sistema) comunicar a los administradores del cluster la nueva public key
  • un cluster es un sistema de recursos computacionales compartidos, la seguridad del mismo depende en gran medida del uso responsable de los mecanismos de autenticación. En caso de hurto o robo de la private key (o de la computadora en la cual se encuentra almacenada) comunicar intempestivamente el episodio al mail .



Modo uso de las llaves en los servidores del IATE

La computadora donde se inicia la conexión SSH debe tener la clave privada del usuario y el servidor la clave pública del usuario.
Entonces el usuario debe generar el par de claves públicas/privadas o copiarlas si ya las genero antes, y enviarlas a los servidores del IATE.

Creación de llaves en Linux

Puede generar un nuevo par de llaves SSH desde el terminal de un sistema GNU/Linux ejecutando el siguiente comando:

  • ssh-keygen -t rsa

Se puede optar por el uso de una contraseña para el acceso a la llave o puede dejarlo en blanco. También uno puede indicarle donde desea almacenarla, por defecto toma la ubicación /home/$USER/.ssh/ . Puede verse como 2 llaves son creadas, una pública con extensión pub y otra privada, la pública es la que siempre se copia al host de destino.

Clave Pública            $HOME/.ssh/id_rsa.pub
Clave Privada            $HOME/.ssh/id_rsa


Para usuarios de Windows se recomienda seguir el siguiente procedimiento:

  • 1. Descargar Mobaxterm desde la pagina de descarga eligiendo la versión portable.
  • 2. Descomprimir el archivo zip, (si piensa conectarse al cluster desde distintas computadoras descomprima en un USB).
  • 3. Ejecutar el programa Mobaxterm
  • 4. Dentro de la terminal que ofrece el programa lanzar los siguientes comandos:
  •       
    • ssh-keygen

    • cat .ssh/id_rsa.pub

  • 5. Comunicar la public key a los administradores.



Copiar clave publica en los servidores del IATE

Se puede utilizar un solo comando de ssh.

  • ssh-copy-id  USUARIO@DESTINO

También se puede copiar y enviar por mail con:

  • cat  $HOME/.ssh/id_rsa.pub

Una vez creada y copiada la llave RSA al destino, podemos realizar ssh USUARIO@DESTINO sin necesidad de introducir contraseña.


Poder conectarte a los servidores con otras computadoras (o terminales).

Existen dos formas:

1- Realizar el proceso de generación y copiado de claves en todas las computadoras (o terminales).

2- Copiar la clave privada a las nuevas computadoras (o terminales) con el siguiente comando:

  • rsync  -avz   $HOME/.ssh/id_rsa   usuario@computadora_destino:~/.ssh


1.  Asegúrese que los permisos del fichero que contiene la llave privada son correctos ejecutando el siguiente comando:

  • chmod  600  $HOME/.ssh/id_rsa

2.  Asegúrese que los permisos de la carpeta que contiene la llave privada son correctos ejecutando el siguiente comando:

  • chmod  700  $HOME/.ssh

3.  Intente conectarse al cluster forzando el uso de la llave privada:

  • ssh  -i  $HOME/.ssh/id_rsa $USUARIO@clemente

4.  Intente conectarse al cluster forzando el uso de la llave privada:

  • SSH_AUTH_SOCK=0  ssh  -i  $HOME/.ssh/id_rsa $USUARIO@clemente

      Si con este comando la conexión funciona, debe simplemente agregar la llave privada al repositorio del agente de autenticación:

  • ssh-add





Si la conexión funciona forzando la utilización de la llave SSH, significa que el problema no se encuentra en el cluster sino en el cliente. En la mayoría de los casos este problema se soluciona modificando el fichero /etc/ssh/sshd_config presente en el sistema de su PC. Debe buscar en el mismo la directiva IdentityFile y modificarla de la siguiente manera:

  • IdentityFile  ~/.ssh/id_rsa


Intenté todo pero sigue fallando

Es momento de contactar a soporte, al hacerlo por favor adjunte la salida del comando

  • ssh  -vvv  $USUARIO@<servidor>



wiki/tutorial_ssh.txt · Last modified: 2019/01/02 17:45 by admin