Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
f1:conexion_ssh [2018/08/13 17:21] lmachucaf1:conexion_ssh [2024/11/16 19:21] (actual) lmachuca
Línea 1: Línea 1:
 ===== Conexión SSH ===== ===== Conexión SSH =====
 +
 +[[wp>SSH]] es el protocolo de acceso seguro a servicios de red y de acceso terminal remoto usado en Linux y en otros SO como BSD. Puede cubrir las [[wpes>Modelo OSI|capas OSI]] 4 a 7 y permitir tanto el login remoto a un servidor, como la transmisión tuneliazda o encriptada de otros protocolos como HTTP.
 +
 +Todos los servidores Debian preparados y operados por Helpcom ofrecen un servicio de SSH para uso del equipo de soporte técnico, con algunas configuraciones comunes. La gestión de las opciones principales del servicio está a cargo de ''/etc/ssh/sshd_config''.
  
 Para conectar por SSH (Secure Shell) a un servidor remoto: Para conectar por SSH (Secure Shell) a un servidor remoto:
Línea 5: Línea 9:
 **Requisitos** **Requisitos**
  
-  * Un servidor remoto (d'oh) que tenga un servicio de SSH accesible+  * Servidor remoto con puerto SSH accesible y con un nombre de red o IP alcanzable.
-  * Acceso al puerto abierto por la red (ej.: dentro de la misma redpuerto redirigido en una red remota).+
   * Un cliente SSH:   * Un cliente SSH:
-    * En Linux viene nativo (''ssh'')+    * En Linux hay un cliente nativo de terminal, ''ssh''
-    * En Windows puede ser software como PuTTY o KiTTY, ambos disponibles en la [[general:Instalación Modelo]] y carpeta de software de Helpcom.+    * En Windows puede ser software como PuTTY o [[https://www.fosshub.com/KiTTY.html|KiTTY]], ambos disponibles en la [[general:Instalación Modelo]] y carpeta de software de Helpcom
 +    * En Android, [[https://termux.dev/en/|Termux]] (disponible en F-Droid) y [[https://connectbot.org/|ConnectBot]] (disponible en Google Play) son los clientes más establecidos.
  
- +En general para conectar a un servidor remoto se usa el cliente SSH con cualquiera de las presentaciones de estos ejemplos, o similar:
-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    ssh [-p puerto] [más_opciones] usuario@servidorremoto 
 +  ssh [-p puerto] [-l login] [más_opciones] servidorremoto
 +  ssh -F archivoconf [más_opciones] servidorremoto
  
-  * Por defecto el puerto es ''22'' y puede dejarse omitido. En Helpcom algunos servicios de clientes se redirigen al puerto ''22022'' (por ejemplo, acceso a Producción de Facturación Electrónica).+  * Por defecto el puerto es ''22'' y puede dejarse omitido. En Helpcom algunos servicios de clientes se redirigen al puerto ''22022'' o a puertos previamente establecidos (por ejemplo, acceso a Producción de Facturación Electrónica).
   * El ''usuario'' es el nombre de usuario.   * El ''usuario'' es el nombre de usuario.
 +  * El ''login'' es el nombre de cuenta en el servidor remoto; usualmente coincide con ''usuario''.
   * El ''servidorremoto'' es el nombre, FQDN o dirección IP del servidor.   * 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: 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:
-[{{  :f1:kitty1.png?200|}}]+[{{  :f1:kitty1.png?260|Ejemplo de opciones de kiTTY}}] 
 + 
 +[{{  :f1:kitty-portable-trebol-1.png?direct&260|}}]
  
   * **Sesión**:   * **Sesión**:
-    * Hostname: el ''servidorremoto''+    * Hostname: el valor de ''servidorremoto''
-    * Port: el puerto. +    * Port: el valor de ''puerto''
-  * **Terminal**+  * **Terminal**:
     * **Keyboard**:     * **Keyboard**:
-      * Function Keys and Keyboard: **VT100+**.+      * Function Keys and Keyboard: **VT100+** o **VT400**
 +  * **Appearance**: 
 +    * En esta sección se puede configurar opciones como el tamaño de la consola y el tipo de fuente.
  
 Una vez generadas las opciones pueden guardarse para futuras sesiones, nuevamente en el submenú Sesión. 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.+Al abrir la conexión con **Start**, se mantiene la ventana de KiTTY abierta para permitir otras operaciones. 
 + 
 +El sistema pedirá primero el ''usuario'' y luego, en una entrada no reflejada en pantalla, la contraseña.
  
 ===== Transferencia de Archivos ===== ===== Transferencia de Archivos =====
  
 <note>Ver [[:Transferencias de Archivos]].</note> <note>Ver [[:Transferencias de Archivos]].</note>
- 
-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**: 
- 
-[{{  :f1:filezilla-helpcom237.png?250|}}] 
-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) 
- 
  
  
Línea 78: Línea 56:
 <note>Ver [[:Túnel de Conexión SSH]].</note> <note>Ver [[:Túnel de Conexión SSH]].</note>
  
-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. 
- 
-<code bash> 
-ssh -g -L 13307:192.168.1.150:3307  usuario@servidorremoto.cl 
-</code> 
- 
-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: 
- 
-<code bash> 
-mysql -h 127.0.0.1 --port 13307 -u helpcom_db -p 
-</code> 
- 
-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).  
- 
-FIXME TOBEDONE imágenes 
  
 {{tag>f1 SSH remoto}} {{tag>f1 SSH remoto}}
  
  
f1/conexion_ssh.1534180877.txt.gz · Última modificación: 2018/08/13 17:21 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0