SSH o Secure Shell es un protocolo de red que permite iniciar sesión en un computador remoto, se caracteriza por ser seguro (encriptación) y por mantener la integridad de los datos.
Gracias a ssh es posible utilizar los equipos del laboratorio de forma remota, para hacer esto se deben seguir los siguientes pasos:
Desde linux/macos:
- Abrir una terminal
- Ingresar uno de los siguientes comandos:
ssh <usuario>@ssh2.inf.utfsm.cl
ssh <usuario>@ssh3.inf.utfsm.cl
Aquí <usuario>
corresponde a su usuario del departamento de informática.
En este paso estaremos solicitando establecer una conexión con alguno de los computadores del laboratorio.
- En caso de ser la primera vez que se realice la conexión, nos preguntará si estamos seguros de querer conectarnos, apareciendo el siguiente mensaje:
The authenticity of host '<ssh2 o shh3>.inf.utfsm.cl (204.87.169.X)' can't be established.
ECDSA key fingerprint is SHA256:1pOjlHzgbmDnhzBH/VyquHfeHAhjGklCqsCrHMV+UD0.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
- En este caso respondemos
yes
, luego nos solicitará ingresar nuestra contraseña (de la cuenta de informática):
<usuario>@<ssh2 o ssh3>.inf.utfsm.cl's password:
Una vez dentro estaremos conectado a uno de los computadores del laboratorio a través de una terminal.
En caso de no estar muy familiarizado con los comandos que puede utilizar, esta guía puede ser de utilidad.
Desde windows:
Para conectarse por ssh desde windows es recomendable utilizar Windows Subsystem for Linux (WSL), mediante el cual se pueden seguir los mismos pasos de la guía para Linux/macOS. Alternativamente puede utilizar clientes ssh como PuTTY.
Puede consultar la guía para WSL aquí.
¿qué se puede hacer a través de ssh?
- Enviar archivos a la máquina:
Esto antes de ingresar por ssh.
scp -r <ruta carpeta/archivo a enviar> <usuario>@<ssh2 o ssh3>.inf.utfsm.cl:<ruta a dejar carpeta/archivo>
<user>@<ssh2 o ssh3>.inf.utfsm.cl password:
El parámetro
-r
se utiliza en caso de querer enviar una carpeta recursivamente, en caso de enviar solo un archivo este parámetro se omite.
Algunos ejemplos:
scp ~/Desktop/Trabajos/Tarea.py usuarioejemplo@ssh2.inf.utfsm.cl:~/Desktop/Universidad/Programacion/ #Aquí se está copiando el archivo 'Tarea.py' desde su PC hacía la ubicación en su cuenta.
scp -r ~/Desktop/Trabajos usuarioejemplo@ssh2.inf.utfsm.cl:~/Desktop/Universidad/ #Aquí se está enviando la carpeta 'Trabajos' completa, por lo que se utiliza el parámetro -r.
- Recibir archivos desde la máquina:
Esto antes de ingresar por ssh.
scp -r <usuario>@<ssh2 o ssh3>.inf.utfsm.cl:<ruta carpeta/archivo a enviar> <ruta en su computador a dejar el archivo>
<user>@<ssh2 o ssh3>.inf.utfsm.cl password:
Algunos ejemplos:
scp -r usuarioejemplo@ssh2.inf.utfsm.cl:~/Desktop/Cosas_U/ ~/Desktop/
scp usuarioejemplo@ssh2.inf.utfsm.cl:~/Desktop/Cosas_U/Proyecto.py ~/Desktop/Proyectos/
scp usuarioejemplo@ssh3.inf.utfsm.cl:~/Desktop/Cosas_U/Proyecto.py C:/Users/usuarioejemplo/Escritorio/
¿Cómo dejar un código ejecutandose?
Para dejar un código en ejecución luego de terminar la conexión ssh existen 2 principales opciones:
- Puede utilizar
tmux
utilizando la siguiente guía.
- Puede utilizar el comando
screen
el cual permitirá que al desconectarse y volver a conectarse el código siga en ejecución. El siguiente video puede servir de guía para aprender a utilizar este comando (no es necesario realizar ninguna instalación).