PuTTY: 10 consejos útiles para conexiones SSH
Los informáticos, a parte de ofrecer el inestimable consejo «¿Ha probado a apagarlo y volverlo a encender?» utilizamos muy frecuentemente la terminal o consola de comandos porque nos ahorra muchísimo tiempo (y no para dar miedo a profanos, como muchos creen).
Es una excelente forma de administrar un servidor remotamente, pudiendo configurarlo, resolver problemas o monitorizar su estado en cuestión de segundos (entre otras cosas) sin la necesidad de estar presente donde se encuentra físicamente el sistema.
Puedes cambiar las opciones en la pantalla principal, o en el icono y luego en Change Settings.
Uno de los programas más conocidos para estos menesteres es PuTTY, un cliente con el que accederemos a un sistema remoto de una forma cómoda y sencilla. Basta con especificar en Host name el dominio (o la IP) del servidor y seleccionar el tipo de conexión.
En esta guía me centraré en conexiones SSH, generalmente utilizadas en sistemas Linux (aunque menos común, también es posible utilizarlo en servidores Windows). PuTTY también permite guardar y cargar ciertos perfiles para un acceso posterior sin necesidad de volver a introducir los datos u opciones.
Descargar PuTTY
Vamos a descargar este cliente para Windows, y echar un vistazo a esta guía de consejos para facilitar y comprender mejor las opciones que nos brinda este sencillo software:
URL | Descargar PuTTY ~ putty.exe
1. Activar compresión SSH en PuTTY
Al conectar a un sistema remoto (mediante Internet) la velocidad de nuestra conexión forma parte de uno de los puntos principales para que la comunicación sea estable y sin retrasos. Si nuestra red (o la del servidor) está muy saturada, la comunicación será lenta y frustrante.
Para evitarlo doy dos consejos:
- El primero de ellos, revisar la guía Conseguir que Internet vaya más rápido, donde muestro algunos consejos para optimizar la velocidad de nuestra conexión a Internet.
- El segundo, marcar la opción Connection / SSH / Enable compression de PuTTY, lo que realizará una compresión de los datos antes de transmitir, ahorrando mucho ancho de banda. Esta opción es equivalente a utilizar el parámetro -C con el comando ssh.
En rojo, la información se envía sin comprimir, por lo que tarda más en enviarse.
Además, también podemos seleccionar un método de cifrado (AES, Blowfish, 3DES...) para añadir una capa de seguridad y que nuestra información se envíe cifrada por la red.
2. La codificación, ese gran desconocido
La codificación de carácteres suele ser un quebradero de cabeza para los usuarios menos experimentados. El formato UTF-8 suele ser el recomendado para evitar los problemas de codificación con letras acentuadas o carácteres especiales que no tienen otros idiomas:
¿SabÃas que 3 de cada 5 informáticos Âse pone nervioso al ver un código unicode con mala codificación? ¿Tú también te pasa?
— José Román (Manz) (@Manz) June 28, 2011
No lo niegues, tu también te pones nervioso al ver esto...
Realmente, esto sólo repercute a la hora de visualizar información, que generalmente se soluciona cambiando la codificación en PuTTY, accediendo al menú Window / Translation y seleccionando UTF-8.
3. Silenciar PuTTY (ese molesto «Ding»)
Si llevas mucho tiempo utilizando PuTTY, sabrás perfectamente que al realizar una operación que conlleva a un error leve (desplazarse en un archivo cuando no hay más texto, retroceder borrando al principio de la línea, etc...) se oirá un pequeño sonido de advertencia.
Esto, aunque es muy útil, puede llegar a ser muy molesto por repetición. Sin embargo, puedes personalizar PuTTY en las opciones Terminal / Bell, donde podremos elegir entre cambiar el sonido, silenciarlo o reemplazarlo por alertas visuales, mucho menos cansinas.
4. Cambiar apariencia (fuente, colores, etc...)
Si acostumbramos a programar o pasar varias horas delante de una terminal en PuTTY, uno de los principales consejos que puedo dar es cambiar la fuente (tipografía) por una más legible y/o agradable en Window / Appearance / Font settings.
Te aconsejo descargar una fuente de sitios como DaFont o Google Fonts, donde encontrarás cientos de ellas, o elegir una que conozcas o hayas visto alguna vez a través de esta guía para identificar una fuente o tipografía.
Una buena tipografía para terminales o consolas es Envy Code R.
Además, también es posible configurar y cambiar los colores en Window / Colours, por ejemplo, el azul (ANSI Blue), que suele utilizarse para los comentarios y generalmente aparece muy oscuro como para diferenciarlo del fondo negro.
5. ExtraPuTTY
Si no tienes buena memoria, ExtraPuTTY será una herramienta genial para ti. Se trata de un fork de PuTTY, que añade una pequeña ventana donde podemos gestionar comandos, acciones automatizadas o incluso scripts LUA para efectuar en nuestra sesión SSH con simples clics de ratón:
URL | ExtraPuTTY
6. PuTTY para Linux
Aunque los «heavy-users» de Linux suelen preferir utilizar el comando ssh para realizar conexiones remotas desde Linux, también existe una versión de PuTTY para Linux, por si te apetece utilizar el mismo interfaz de usuario y no tener que recordar comandos y parámetros.
Con un apt-get install putty podrás instalar el cliente en Linux (basados en Debian). Otras alternativas son KiTTY (un clon de PuTTY) o PuTTYTray, un fork con algunas opciones interesantes añadidas, como minimizarlo en la bandeja de sistema o reconectar al servidor en desconexiones o caídas.
7. PuTTY múltiple: Soporte de pestañas
Todo es mejor con pestañas. Los navegadores web las tienen incorporadas desde hace tiempo y cada vez más programas lo hacen, como algunos exploradores alternativos de archivos. MTPuTTY es uno de los que permiten abrir varias pestañas de PuTTY:
URL | MTPuTTY
Esto es interesante por comodidad. A veces es ideal tener varias terminales abiertas donde realizar diferentes tareas en cada una de ellas. Por ejemplo, si programamos en el editor VIM y queremos tener una terminal para editar el archivo y otra diferente para compilar y ejecutar.
Es cierto que VIM ofrece (como se puede ver en el artículo anterior) algunas acciones para compilar y ejecutar o abrir varios archivos desde el propio editor, sin embargo, hay usuarios que prefieren tener una ventana independiente para cada tarea. Otros wrappers interesantes a considerar podrían ser SuperPuTTY o AutoPutty.
Por cierto, si estas buscando alternativas al editor VIM, aquí tienes un buen listado de editores basados en terminal, como mcedit, fte o Le, entre otros.
8. X11 Forwarding (Interfaz gráfico con PuTTY)
Aunque no muchos conocen esta interesante opción, es posible abrir programas con interfaz gráfico desde PuTTY. Lo único que hay que hacer es decirle a PuTTY que «redirija el interfaz gráfico» a otro equipo en lugar del propio sistema remoto. Veamos como hacerlo:
- Si nuestro sistema es Windows, necesitaremos un servidor X como Xming instalado. Es muy sencillo y no requiere configuración. En el caso de utilizar Linux, no hace falta instalar nada.
- En PuTTY, vamos a la opción Connection / SSH / X11 y activamos la casilla Enable X11 forwarding.
- Por último, establecemos en X display location el valor localhost:0 para redirigir a nuestro Xming el interfaz gráfico.
Recuerda que toda esta información se transfiere mediante la red, por lo que es muy importante tener las opciones de compresión activas y disponer de un ancho de banda medianamente aceptable para que las operaciones sean fluidas.
9. Conexión segura a través de un túnel SSH
Imaginemos que somos muy paranoicos en cuanto a seguridad y no nos parece fiable realizar una transferencia bancaria o un pago mediante Paypal, desde un ordenador y red ajena. Es posible crear un túnel SSH (con la seguridad que ofrece SSH) mediante PuTTY, redirigiendo toda la información a la red de casa, y evitando poner en peligro nuestras credenciales.
Esto también es especialmente útil en sistemas donde se nos ha «capado» la red y se nos evita acceder a ciertas páginas o sitios web, pudiendo saltarnos estas restricciones.
En rojo, el acceso normal. En verde, la redirección mediante un túnel seguro SSH.
URL | Crear un túnel SSH entre Linux y Windows
10. Alternativas a PuTTY
Quizás, PuTTY no sea de tu agrado o busques alternativas a este software. A parte de las que ya he citado, puedo comentar otras también muy interesantes:
Remmina: Remote Desktop Client es un programa para Linux que permite la administración de sistemas remotos a través de protocolos como RDP, VNC, NX, XDMCP o SSH. Es bastante completo y con una interfaz muy agradable.
Reminna, un sistema de administración remoto mediante protocolos VNC, RDP o SSH, entre otros.
Existen varias opciones para navegadores web, como por ejemplo SecureShell (extensión de Chrome) o FireSSH (extensión para Firefox).
Para Windows se puede utilizar BitVise Client SSH, otro cliente bastante completo, gratuito sólo para uso personal, o Terminals, una alternativa donde podemos conectar, también con soporte de pestañas, mediante protocolos como VNC, RDP o SSH.
Para Linux, Vinagre, una solución bastante intuitiva para conexiones VNC/SSH o Pac Manager, una especie de panel de control gráfico para conexiones SSH/Telnet.
Ahora, si lo que quieres es aprender comandos útiles para GNU/Linux, puedes empezar con este detallado artículo: 10 comandos interesantes para GNU/Linux.