¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Conexión
Conexión al cluster
Para poder acceder al cluster debe contar con un cliente ssh. Casi la totalidad de las distribuciones LINUX ya lo tienen preinstalado. Si éste es su caso pude ejecutar el siguiente comando desde una terminal:
ssh $USUARIO@mendieta.ccad.unc.edu.ar
o bien
ssh $USUARIO@eulogia.ccad.unc.edu.ar
En caso que quisiera iniciar lo conexión desde una maquina WINDOWS recomendamos el programa MoabXterm
La variable $USUARIO ha sido comunicada en el mail de confirmación de creación de la cuenta y será su nombre de usuario dentro de los clusters.
Para conectarse a la cabecera del cluster no es necesario especificar una password pues la llave SSH pública enviada en la solicitud ha sido copiada en el directorio “home” de $USUARIO.
Mecanismo de llave pública/privada
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 NINGUN CASO se debe comunicar el contenido de la private key,
- 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 autentificació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 soporte at ccad dot unc dot ar.
Preguntas frecuentes
Como creo un nuevo par de llaves SSH en Linux?
Puede generar un nuevo par de llaves SSH desde el terminal de un sistema GNU/Linux ejecutando el siguiente comando:
ssh-keygen
Como creo un nuevo par de llaves SSH en Windows?
Para usuarios de Windows se recomienda seguir el siguiente pocedimiento:
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.
Que significa exactamente comunicar la public key a los administradores?
Las llaves generadas por el comando ssh-keygen se almacenan por defecto en el directorio $HOME/.ssh/ de la maquina desde la que nos queremos conectar. Los ficheros id_rsa e id_rsa.pub contienen respectivamente las llaves privada y pública. Para poder garantizar el acceso al cluster los administradores necesitan el contenido del fichero id_rsa.pub. El mismo se puede obtener gracias al comando cat:
cat $HOME/.ssh/id_rsa.pub
O bien puede enviar directamente el fichero $HOME/.ssh/id_rsa.pub como pieza adjunta por mail.
Es posible acceder al cluster desde otras terminales diferentes a la que usé para crear la clave pública ssh?
Si, es posible. Para ello existen dos maneras de hacerlo:
1. Copiar la llave privada en todas las terminales, es decir transferir el fichero $HOME/.ssh/id_rsa original a la nueva computadora:
scp $HOME/.ssh/id_rsa usuario@mi.otra.computadora:~/.ssh
2. Generar un par de llaves en cada computadora y copiar la llave pública en el cluster. Para ello se debe ejecutar el comando ssh-keygen en la computadora nueva, visualizar el contenido de la llave pública, conectarse al cluster a partir de la terminal que se usa habitualmente y copiar el contenido de la llave pública apenas generada en el fichero $HOME/.ssh/authorized_keys que se encuentra en el cluster. Si por alguna razón no puede conectarse al cluster, puede comunicar la la public key a los administradores.
No logro conectarme al cluster con la llave SSH
¿que puedo hacer antes de contactar el soporte?
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@mendieta.ccad.unc.edu.ar
4. Si aun así no funciona, pruebe nuevamente con el siguiente comando:
SSH_AUTH_SOCK=0 ssh -i $HOME/.ssh/id_rsa $USUARIO@mendieta.ccad.unc.edu.ar
Si con este comando la conexión funciona, debe simplemente agregar la llave privada al repositorio del agente de autenticación:
ssh-add
La conexión al cluster funciona forzando el uso de la llave SSH con ssh -i, que puedo hacer antes de contactar el soporte?
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 al soporte, al hacerlo por favor adjunte la salida del comando
ssh -vvv $USUARIO@mendieta.ccad.unc.edu.ar
Gestión de datos a distancia
Es posible montar localmente el directorio /home/$USUARIO del cluster y de este modo realizar todas las operaciones sobre los archivos (copiar, renombrar, editar, etc.) con las herramientas de preferencia instaladas en su PC de trabajo. Para ello existen diferentes métodos. A continuación presentamos los 3 más utilizados. Todos estos métodos funcionaran únicamente si las llaves SSH están correctamente configuradas.
1. Montaje del directorio con sshfs:
En primer lugar se debe crear en el sistema cliente un repertorio que utilizaremos a continuación como punto de montaje local:
mkdir $HOME/datos_mendieta
Luego se realiza el montaje reemplazando la variable $USER por el nombre de usuario asignado en el cluster:
sshfs $USER@mendieta.ccad.unc.edu.ar:/home/$USER $HOME/datos_mendieta
Comprobar que el repertorio se ha montado correctamente y que se poseen los permisos para operar en el sistema remoto:
ls $HOME/datos_mendieta touch $HOME/datos_mendieta/puedoescribir rm $HOME/datos_mendieta/puedoescribir
Para desmontar el repertorio se utiliza el siguiente comando:
fusermount -u $HOME/datos_mendieta
2. Montaje del directorio al arranque:
Es posible configurar el sistema cliente para que monte automáticamente el repertorio home del cluster al arranque. Para ello debemos seguir algunos pasos muy sencillos. En primer lugar asegurarse que el usuario pertenece al grupo fuse o bien que puede acceder en lectura al fichero /etc/fuse.conf. El fichero /etc/fuse.conf debe contener la siguiente instrucción:
user_allow_other
Si no es el caso, editar el fichero con el superusuario root.
Una vez hecho esto, agregar la siguiente linea al fichero /etc/fstab :
$USER@mendieta.ccad.unc.edu.ar:/home/$USER $MOUNTPOINT fuse.sshfs auto,_netdev,user,idmap=user,transform_symlinks,identityfile=$HOME/.ssh/id_rsa,allow_other,default_permissions, 0 0
El reemplazo de las variables se hará de esta manera:
$USER es el nombre de usuario en el cluster mendieta
$MOUNTPOINT es el nombre del repertorio local donde se quieren montar los datos remotos. Debe contener el path absoluto, por ejemplo /home/maradona/datos_mendieta
$HOME es el repertorio home del usuario local donde se encuentra la llave SSH privada.
3. Montaje del directorio desde la interfaz gráfica:
Los usuarios de GNOME o KDE pueden si así lo desean montar el repertorio home del cluster directamente a partir de la interfaz gráfica. Los pasos a seguir son realmente sencillos, a saber:
GNOME (Nautilus)
1. Abrir un gestor de archivos
2. Hacer click en Archivo→ 3. En el cuadro de dialogo colocar los siguientes parámetros:
servidor: mendieta.ccad.unc.edu.ar tipo: ssh carpeta: /home/$USUARIO (reemplace por el correspondiente) usuario: $USUARIO contraseña: si desea crear un atajo para que quede configurada la conexion tildar //añadir marcador//