¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Conexión SSH
Para conectar por SSH (Secure Shell) a un servidor remoto:
Requisitos
- Un servidor remoto (d'oh) que tenga un servicio de SSH accesible.
- Acceso al puerto abierto por la red (ej.: dentro de la misma red, o puerto redirigido en una red remota).
- Un cliente SSH:
- En Linux viene nativo (
ssh
). - En Windows puede ser software como PuTTY o KiTTY, ambos disponibles en la Instalación Modelo y carpeta de software de Helpcom.
En general para conectar a un servidor remoto se usa el cliente SSH de la siguiente forma:
ssh [-p puerto] [más_opciones] usuario@servidorremoto
- Por defecto el puerto es
22
y puede dejarse omitido. En Helpcom algunos servicios de clientes se redirigen al puerto22022
(por ejemplo, acceso a Producción de Facturación Electrónica). - El
usuario
es el nombre de usuario. - El
servidorremoto
es el nombre, FQDN o dirección IP del servidor.
En un cliente como PuTTY o KiTTY, se configuran estas opciones en la entrada de submenú de Sesión. Las opciones que debe tener un cliente SSH para poder transmitir correctamente símbolos, comandos y combinaciones de teclas al servidor remoto se indican como sigue:
- Sesión:
- Hostname: el
servidorremoto
. - Port: el puerto.
- Terminal
- Keyboard:
- Function Keys and Keyboard: VT100+.
Una vez generadas las opciones pueden guardarse para futuras sesiones, nuevamente en el submenú Sesión.
Al abrir la conexión (con Start u Open), el sistema pedirá primero el usuario
y luego, en una entrada no reflejada en pantalla, la contraseña.
Transferencia de Archivos
Por medio del protocolo SSH se puede transferir archivos desde un cliente SSH a un servidor (o viceversa). Esto se hace por medio del “subprotocolo” SCP o un cliente que lo soporte, como Filezilla.
Filezilla:
En las casillas de conexión se coloca el servidorremoto
, el nombre de usuario, la contraseña y el puerto (el mismo puerto de SSH para un servicio SCP; en caso contrario el puerto 21
para FTP). Esto entrega una vista del servidor remoto en el panel derecho por el medio del cual se puede copiar archivos hacia (subir) o desde (bajar) el servidor.
WinSCP:
(Pendiente)
sshfs:
En Mac o Linux es posible montar una carpeta remota dentro de un cliente SSH como parte del sistema de archivos, permitiendo subir o bajar archivos con los mismos métodos que en el equipo local (copy-paste, cp
, etc).
Lo primero es tener una carpeta destino para el montaje, por ejemplo /tmp/remoto
.
Luego ejecutamos el comando de sshfs
:
sshfs usuario@servidorremoto: /tmp/remoto -o sync
(notar los dos puntos al final del servidor remoto)
Confirmando con la contraseña, podemos ver los contenidos remotos montados dentro de la ruta /tmp/remoto
.
Para terminar la sesión debemos cerrar las ventanas de explorador de archivos que apunten al directorio y ejecutar:
fusermount -uz /tmp/remoto
Gigolo:
(Pendiente)
Túnel
Por medio de SSH es posible conectarse a un equipo que está detrás del servidor de una red remota, siempre y cuando tengamos un puerto abierto para entrar a un servidor por SSH dentro de esa misma red. Por ejemplo, puesto que es posible entrar por SSH al servidor de Dacsa Prat, es posible hacer un túnel para entrar también a los otros equipos de la sucursal, como el servidor de F.E. de Montana.
Información general:
Procedimiento
Primero necesitamos saber la dirección del servidor al que nos vamos a conectar. Esta dirección debe ser alcanzable desde nuestra red local. Por ejemplo, supongamos que esta dirección es servidorremoto.cl
, y está abierto el puerto 22022
como acceso SSH.
Desde aquí, podremos conectarnos a cualquier equipo siempre y cuando sepamos sus IP y puerto como se ven desde el servidor remoto. Por ejemplo, si hay un servidor de MySQL dentro de la misma red interna en la IP 192.168.1.150
puerto 3307
, esta es la información que debemos saber.
A continuación, simplemente ejecutamos ssh
con la opción -L puertolocal:destino:puerto
la cual establece un puente de SSH.
ssh -g -L 13307:192.168.1.150:3307 usuario@servidorremoto.cl
Una vez que habilitamos la sesión con el usuario y contraseña, podemos probar que funciona usando el puente para conectarnos al equipo de destino. Por ejemplo, desde otra terminal:
mysql -h 127.0.0.1 --port 13307 -u helpcom_db -p
Notar que aquí el destino y puerto de destino es 127.0.0.1
(“localhost”) y 13307
(= puertolocal
) y no destino
y 3307
que es el puerto del servicio en el destino (y que no resuelve desde nuestro equipo local, pero sí desde el servidor que hace de puente).
TOBEDONE imágenes