This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
wiki:tuneles [2019/07/15 15:44] admin created |
wiki:tuneles [2019/07/15 19:44] (current) admin [ssh -W (netcat mode)] |
||
---|---|---|---|
Line 335: | Line 335: | ||
<li style="color:black" >-A: opción de ssh que habilita el reenvío de la conexión del agente de autenticación. Sirve para la autentificación.</li> | <li style="color:black" >-A: opción de ssh que habilita el reenvío de la conexión del agente de autenticación. Sirve para la autentificación.</li> | ||
<li style="color:black" >-t: opción de ssh que abre un pseudo-tty con la sesión actual. Sirve para la correcta configuración de las terminales.</li> | <li style="color:black" >-t: opción de ssh que abre un pseudo-tty con la sesión actual. Sirve para la correcta configuración de las terminales.</li> | ||
- | </ul> | + | </ul> |
- | <p>Existe un programa llamado Netcat que nos facilitará la tarea de conexión entre servidores.</p> | + | |
<br> | <br> | ||
<br> | <br> | ||
+ | |||
+ | |||
+ | | ||
</HTML> | </HTML> | ||
- | =====Netcat===== | + | |
+ | ======Conexiones que persisten a las sesiones====== | ||
<HTML> | <HTML> | ||
- | <p>Es un programa creado para uso de administradores de red, que lee y escribe datos a través de conexiones de red mediante los protocolos TCP o UDP. | + | |
- | Netcat se puede convertir en una utilidad muy potente, pudiendo ser utilizado en conjunto con lenguajes de programación como Perl y C.</p> | + | |
- | <button class="botonPanel"><b>Instalación de netcat en Linux</b> </button> | + | <p>Existen varias formas de hacer conexiones entre servidores usando openssh. Algunas de ellas necesitan tener instalada versiones de ssh a partir de la que se agregan las nuevas características.</p> |
- | <div class="panel"> | + | <p>La forma para determinar la versión instalada de ssh es usando el comando:</p> |
- | <br> | + | |
- | <p>Instalación en Debian, Ubuntu o Linux Mint </p> | + | <ul class="shell-body"> |
- | <ul class="shell-body" > | + | <li style="color:greenyellow">[ Usuario@local ~]$  ssh -V</li><br> |
- | <li style="color:greenyellow">sudo apt-get update</li><br> | + | </ul> |
- | <li style="color:greenyellow">sudo apt-get install netcat</li> | + | |
- | </ul><br><br> | + | |
- | <p>Instalación en CentOS/RHEL 7</p> | + | |
- | <ul class="shell-body"> | + | |
- | <li style="color:greenyellow">sudo yum install nc.x86_64</li> | + | |
- | </ul><br> | + | |
- | <p>Instalación en CentOS6</p> | + | |
- | <ul class="shell-body"> | + | |
- | <li style="color:greenyellow">sudo yum install nmap</li> | + | |
- | </ul><br> | + | |
- | </div> | + | |
<br> | <br> | ||
- | <br> | + | <p>A continuación se explicarán las dos formas más utilizadas proxyjump y ssh -W:</p> |
- | <br> | + | <br> |
- | <br> | + | |
</HTML> | </HTML> | ||
- | ====Conectarse a los servidores del iate ayudado con netcat==== | + | =====proxyjump===== |
- | <HTML> | + | <HTML> |
- | <p>En la máquina que inicia la conexión se debe editar el archivo $HOME/.ssh/config o ~/.ssh/config</p> | + | |
+ | <p>El comando proxyjum es la forma mas sencilla de realizar conexiones, esta disponible en openssh a partir de la versión 7.3. En la máquina que inicia la conexión se debe editar el archivo $HOME/.ssh/config</p> | ||
<p>Añadimos al final del archivo la siguiente configuración.</p> | <p>Añadimos al final del archivo la siguiente configuración.</p> | ||
<ul class="shell-body"> | <ul class="shell-body"> | ||
- | <li style="color:greenyellow">host iate</li><br> | ||
- | <li style="color:greenyellow">user usuario</li><br> | ||
- | <li style="color:greenyellow">hostname iate.oac.uncor.edu</li><br> | ||
- | <li style="color:greenyellow">forwardagent yes</li><br> | ||
- | <br><br> | ||
<li style="color:greenyellow">host nombreServidor</li><br> | <li style="color:greenyellow">host nombreServidor</li><br> | ||
- | <li style="color:greenyellow">user usuario</li><br> | + | <li style="color:greenyellow">user usuario1</li><br> |
- | <li style="color:greenyellow">proxycommand ssh iate 'nc nombreServidor 22'</li><br> | + | <li style="color:greenyellow">forwardagent yes</li><br> |
- | <li style="color:greenyellow">forwardagent yes</li><br> | + | <li style="color:greenyellow">proxyjump usuario@iate.oac.uncor.edu</li><br> |
</ul> | </ul> | ||
<br> | <br> | ||
Line 386: | Line 374: | ||
<ul style="= font: 0.6em 'Andale Mono', Consolas, 'Courier New'"> | <ul style="= font: 0.6em 'Andale Mono', Consolas, 'Courier New'"> | ||
         |          | ||
- | <li style="color:black" > usuario: debe ser reemplazado por el usuario de su cuenta en los servidores del iate.</li> | ||
<li style="color:black" > nombreServidor: debe ser reemplazado por la PC o el servidor del iate (clemente, mirta2, mirta3, sersic, etc.) donde desea conectarse.</li> | <li style="color:black" > nombreServidor: debe ser reemplazado por la PC o el servidor del iate (clemente, mirta2, mirta3, sersic, etc.) donde desea conectarse.</li> | ||
- | <li style="color:black" > hostname: comando para asignar la dirección url del servidor donde nos vamos a conectar.</li> | + | <li style="color:black" > usuario1: debe ser reemplazado por el usuario de su cuenta en el servidor o PC.</li> |
+ | <li style="color:black" > usuario2: debe ser reemplazado por el usuario de su cuenta en los servidores del iate.</li> | ||
<li style="color:black" > forwardagent yes: nos permite usar la claves de la máquina local en una conexión entre servidores sin guardarlas en la memoria no volátil de un servidor.</li> | <li style="color:black" > forwardagent yes: nos permite usar la claves de la máquina local en una conexión entre servidores sin guardarlas en la memoria no volátil de un servidor.</li> | ||
- | <li style="color:black" > ProxyCommand: especifica el comando usado para conectar a el servidor.</li> | + | <li style="color:black" > proxyjump: es el comando usado para conectar a el servidor.</li> |
- | <li style="color:black" > nc: programa netcat, el 22 es el puerto que usa ssh.</li> | + | |
- | + | ||
- | + | ||
</ul> | </ul> | ||
- | <br> | + | <br> |
- | <p>El anterior código se divide en dos bloques, el primer bloque configura el ssh para realizar una conexión al servidor entrada-salida del iate (perrine). El segundo utiliza el primer bloque para conectarse al servidor perrine y después se conecta a un servidor o PC dentro de la red interna del instituto.</p> | + | |
+ | <p>Una vez guardada la configuración, podemos conectarnos usando el comando:</p> | ||
+ | <ul class="shell-body"> | ||
+ | <li style="color:greenyellow">[ Usuario@local ~]$  ssh  nombreServidor</li> | ||
+ | </ul> | ||
<br> | <br> | ||
+ | <p>También existe la forma persistente, pero en una sola linea:</p> | ||
+ | <ul class="shell-body"> | ||
+ | <li style="color:greenyellow">[ Usuario@local ~]$ ssh -J usuario1@iate.oac.uncor.edu:port1 usuario2@nombreServidor:port2</li><br> | ||
+ | </ul> | ||
+ | <br> | ||
+ | <a>Donde:</a> | ||
+ | <ul style="= font: 0.6em 'Andale Mono', Consolas, 'Courier New'"> | ||
+ |          | ||
+ | |||
+ | <li style="color:black" > usuario1: debe ser reemplazado por el usuario de su cuenta en el servidor o PC.</li> | ||
+ | <li style="color:black" > usuario2: debe ser reemplazado por el usuario de su cuenta en los servidores del iate.</li> | ||
+ | <li style="color:black" > nombreServidor: debe ser reemplazado por la PC o el servidor del iate (clemente, mirta2, mirta3, sersic, etc.) donde desea conectarse.</li> | ||
+ | <li style="color:black" >J= parámetro que identifica el comando proxyjump</li> | ||
+ | <li style="color:black" >port1: número de puerto utilizado del servidor iate, se puede omitir.</li> | ||
+ | <li style="color:black" >port2: número de puerto utilizado del servidor o PC, se puede omitir.</li> | ||
+ | |||
+ | </ul> | ||
+ | <br> | ||
+ | |||
+ | |||
+ | <br> | ||
+ | <br> | ||
+ | </HTML> | ||
+ | =====ssh -W (netcat mode)===== | ||
+ | <HTML> | ||
+ | <p>El parámetro -W en openssh permite realizar conexiones, esta disponible en openssh a partir de la versión 5.4. En la máquina que inicia la conexión se debe editar el archivo $HOME/.ssh/config</p> | ||
+ | |||
+ | <br> | ||
+ | <p>Añadimos al final del archivo la siguiente configuración.</p> | ||
+ | <ul class="shell-body"> | ||
+ | <li style="color:greenyellow">host nombreServidor</li><br> | ||
+ | <li style="color:greenyellow">user usuario1</li><br> | ||
+ | <li style="color:greenyellow">forwardagent yes</li><br> | ||
+ | | ||
+ | <li style="color:greenyellow">proxycommand ssh  usuario2@iate.oac.uncor.edu -W %h:%p</li><br> | ||
+ | </ul> | ||
+ | <br> | ||
+ | <a>Donde:</a> | ||
+ | <ul style="= font: 0.6em 'Andale Mono', Consolas, 'Courier New'"> | ||
+ |          | ||
+ | <li style="color:black" > nombreServidor: debe ser reemplazado por la PC o el servidor del iate (clemente, mirta2, mirta3, sersic, etc.) donde desea conectarse.</li> | ||
+ | <li style="color:black" > usuario1: debe ser reemplazado por el usuario de su cuenta en el servidor o PC.</li> | ||
+ | <li style="color:black" > usuario2: debe ser reemplazado por el usuario de su cuenta en los servidores del iate.</li> | ||
+ | <li style="color:black" > forwardagent yes: nos permite usar la claves de la máquina local en una conexión entre servidores sin guardarlas en la memoria no volátil de un servidor.</li> | ||
+ | <li style="color:black" > ProxyCommand: especifica el comando usado para conectar el servidor.</li> | ||
+ | <li style="color:black" > -W: parámetro para especificar que se realiza una conexión.</li> | ||
+ | <li style="color:black" > %h: usado para especificar el host.</li> | ||
+ | <li style="color:black" > %p: usado para especificar el puerto.</li> | ||
+ | |||
+ | </ul> | ||
+ | <br> | ||
+ | |||
+ | |||
<p>Una vez guardada la configuración, podemos conectarnos usando el comando:</p> | <p>Una vez guardada la configuración, podemos conectarnos usando el comando:</p> | ||
<ul class="shell-body"> | <ul class="shell-body"> | ||
Line 403: | Line 445: | ||
</ul> | </ul> | ||
<br> | <br> | ||
- | <p>Esta configuración puede combinarse con otras herramientas, por ejemplo con sshfs podemos traer carpetas y archivos de un servidor interno en el iate para ser usados de una PC fuera del instituto</p> | + | <p>También existe la forma no persistente, pero en una sola linea:</p> |
+ | <ul class="shell-body"> | ||
+ | <li style="color:greenyellow">[ Usuario@local ~]$ ssh usuario2@nombreServidor -o 'ProxyCommand ssh usuario1@iate.oac.uncor.edu -W %h:%p'</li><br> | ||
+ | </ul> | ||
+ | <br> | ||
+ | <a>Donde:</a> | ||
+ | <ul style="= font: 0.6em 'Andale Mono', Consolas, 'Courier New'"> | ||
+ |          | ||
+ | <li style="color:black" > nombreServidor: debe ser reemplazado por la PC o el servidor del iate (clemente, mirta2, mirta3, sersic, etc.) donde desea conectarse.</li> | ||
+ | <li style="color:black" > usuario1: debe ser reemplazado por el usuario de su cuenta en el servidor o PC.</li> | ||
+ | <li style="color:black" > usuario2: debe ser reemplazado por el usuario de su cuenta en los servidores del iate.</li> | ||
+ | <li style="color:black" > ProxyCommand: especifica el comando usado para conectar el servidor.</li> | ||
+ | <li style="color:black" > -W: parámetro para especificar que se realiza una conexión.</li> | ||
+ | <li style="color:black" > %h: usado para especificar el host.</li> | ||
+ | <li style="color:black" > %p: usado para especificar el puerto.</li> | ||
+ | |||
+ | |||
+ | </ul> | ||
+ | <br> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <p>Estas configuraciones puede combinarse con otras herramientas, por ejemplo con sshfs podemos traer carpetas y archivos de un servidor interno en el iate para ser usados de una PC fuera del instituto</p> | ||
<ul class="shell-body"> | <ul class="shell-body"> | ||
<li style="color:greenyellow">[ Usuario@local ~]$  sshfs  usuario@nombreServidor:/carpetaRemota/ /carpetaLocal/</li> | <li style="color:greenyellow">[ Usuario@local ~]$  sshfs  usuario@nombreServidor:/carpetaRemota/ /carpetaLocal/</li> |