Linux Fu: Estúpidos trucos de SSH

Si te conectas a ordenadores remotos a través de Internet, es muy probable que utilices algún tipo de SSH o shell seguro. En Linux o en Unix usarás el comando ssh. Lo mismo ocurre con los entornos similares a Linux en Windows como Cygwin o WSL. Para Windows nativo, podrías usar Putty. En su forma más simple, ssh es sólo un programa de terminal que habla con un servidor usando una conexión cifrada. Creemos que es muy difícil escuchar a escondidas a cualquiera que se comunique con un ordenador remoto a través de ssh.

Hay varios trucos para usar ssh – algunos son bastante sencillos y otros son cosas que usted podría pensar que no están en el dominio de un programa de terminal. Probablemente sabe que ssh puede copiar archivos de forma segura, y hay formas fáciles y difíciles de configurar el inicio de sesión sin contraseña.

Sin embargo, también puede montar un sistema de ficheros remoto mediante ssh (en realidad, hay varias formas de hacerlo). Puedes usar ssh para navegar de forma segura por la web en tu navegador favorito, o incluso usarlo para tunelizar un tráfico específico por puerto o incluso usarlo como una VPN improvisada. De hecho, hay tanto terreno por cubrir que este no será el último Fu de Linux en hablar de ssh. Pero suficiente configuración, vayamos a los trucos.


Unas cuantas buenas opciones

Asumiremos que conoce los fundamentos: scp y sftp para las copias de archivos y ssh-copy-id para configurar el inicio de sesión sin contraseña. (Si no, tienes diez minutos para hacer una búsqueda rápida en la web.) Pero una de las cosas en las que ssh es genial es en la manipulación de la red. Tenga en cuenta, sin embargo, que el servidor tiene que tener ciertas opciones configuradas para hacer algunas de las cosas más interesantes, así que si no controla el servidor ssh, algunos de estos trucos podrían no funcionar para usted.

Hay muchas opciones para recordar en la línea de comandos de ssh, pero por suerte no tienes que hacerlo. Ni siquiera tienes que recordar tu nombre de host o nombre de usuario. En el archivo ~/.ssh/config puede crear un alias. Por ejemplo, supongamos que quiere conectarse a su servidor local:

12345678Host homeserverNombre del host mih0me.dyndns.orgPort 1234User TheAlIdentityFile ~/.ssh/home_idForwardX11 síCompresión síTCPKeepAlive sí

Puedes tener tantos alias como quieras. Sólo tienes que repetir la línea de Host y luego seguirla con las opciones. También puede agregar más de un alias a una sola declaración de Host. Las opciones siguientes se aplicarán a cualquiera de los alias. Ahora para conectar sólo emite ssh homeserver y ya tienes todas las opciones correctas.

Por supuesto, si está usando Putty, sus opciones estarán principalmente en el perfil del host y en el panel ssh de la pantalla de opciones. Puede que no tengas tantas opciones, pero hay algunas que puedes probar.


Ser persistente

Un muy buen conjunto de opciones para incluir el archivo de control maestro. Por ejemplo:

12ControlMaster autoControlPath ~/.ssh/master-%r@%h:%p

Esto permite que varias sesiones al mismo host compartan un solo socket TCP. Debido a que toma algún tiempo configurar un socket seguro, esto puede acelerar las cosas si mantiene varias sesiones entre dos hosts. Puede configurarlo para todos los hosts utilizando la línea Host * en el archivo de configuración. Puede usarla para cualquier opción global que pueda tener.

Por otro lado, si se introducen muchos datos en varias conexiones, puede que activar el ControlMaster no sea una gran idea. Puede añadir -S none para anular la configuración global.

Otra cosa que hay que tener en cuenta es que su primera sesión ssh puede parecer que se cuelga si intenta salir de ella antes de que se cierren todas las demás conexiones. Algunas personas deliberadamente ejecutan una sesión ssh oculta al iniciar sesión en un host al que se conectan con frecuencia, lo que evita ese problema. Sin embargo, una mejor manera es establecer ControlPersist a yes. Esto hará que la sesión original pase a segundo plano indefinidamente. Si desea un pequeño período de gracia puede establecer ControlPersist en un número como 180. Eso causaría que la sesión en segundo plano termine si no hay conexiones durante tres minutos.

Otra desventaja de este enfoque es que se tiende a obtener archivos maestros huérfanos. En rc.local tengo la siguiente línea:

1/bin/rm /home/*/.ssh/master-* || true;/dev/null

Con Putty, puedes hacer clic en el botón «Compartir conexiones SSH si es posible» en el panel de opciones SSH.


Configuración

Hay bastantes opciones de configuración que puede utilizar en el archivo de configuración. Por ejemplo, BatchMode te permite decirle a ssh que la conexión se hace para uso desatendido, así que no te molestes en pedirle al usuario las contraseñas o cualquier otra cosa. Esto no quiere decir que sólo te dejará entrar, por supuesto. Sólo significa que fallará si no tienes las cosas configuradas para entrar sin contraseña.

Hay algunos otros artículos interesantes. Por ejemplo, puede ejecutar un comando local o remoto en la conexión. También puede enviar una variable de entorno al host remoto o incluso simplemente establecer una. Por ejemplo, supongamos que quiere mantener siempre su LS_COLORS igual en su estación de trabajo y en el servidor, pero que los cambia con frecuencia y no quiere utilizar los mismos perfiles. Podría agregar esto a la entrada del archivo de configuración del host:

1SendEnv LS_COLORS

El servidor tiene que estar configurado para aceptar esto, por supuesto. Putty puede manejar la configuración de una variable de entorno desde la pestaña Data en su configuración.

En el lado de la red, puede especificar TCPKeepAlive a yes si desea que el servidor y el cliente prueben su conexión durante los períodos de inactividad. Esto es un arma de doble filo. Si la conexión está inactiva, no se desconectará. Pero si la red se cae en el momento adecuado durante un breve período, puede que se desconecte donde no lo habría hecho si hubiera seguido con el valor predeterminado. Incluso hay una forma de abrir un túnel de capa 3 o capa 2 entre las máquinas – un tema para un futuro Linux Fu.


Por sus órdenes

No olvides que ssh puede ejecutar un comando y enviarte su salida. Como un ejemplo práctico, ocasionalmente reprogramo el firmware de mi impresora 3D. La impresora está conectada a un Raspberry PI, pero yo hago el firmware en mi máquina principal. Durante mucho tiempo, copié mi archivo a la Pi (usando scp) y luego me conecté a la Pi para ejecutar un script que escribí llamado flash. El script deshabilita el software del servidor Reptier, flashea el chip Atmel en el tablero de control de la impresora, y luego vuelve a encender el servidor.

Aquí está el guión que se ejecuta en mi ordenador principal. Fíjate en los comandos ssh. Uno apaga el servidor. Un comando scp copia el nuevo firmware. Luego otro ssh hace el flash y renueva el servidor. Hay muchas otras maneras de hacer esto, por supuesto. Pero no olvides que ssh puede ejecutar un comando remoto y luego regresar.

123456789101112131415161718192021222324#!/bin/bashif [ -z «$1» ]thenecho Uso: archivo hexadecimal flash [nombre_remoto]echo Si se omite, el nombre_remoto tendrá un archivo adjunto de fecha 1fiONAME=»$2 «EXTRA=$(fecha «+%Y%m%d.%H%M»)if [ -z «$2» ]thenONAME=»$1-$EXTRA.hex «fiIP=192.168.1.110echo Detener Servidorssh -l pi $IP «sudo systemctl parar RepetidorServidor «echo Copiar…scp «$1» «pi@$IP:a8fw/$ONAME «echo Parpadear…ssh pi@$IP «cd a8fw; ./flash $ONAME «echo Reiniciarsh «pi@$IP» «sudo systemctl iniciar RepetidorServidor «echo Salir 0

Si quiere un ejemplo más amigable para los hackers, considere usar la misma idea para ejecutar Wireshark localmente y analizar una captura remota de paquetes:

1ssh root@someserver $0027tcpdump -c 1000 -nn -w – no el puerto 22$0027 | wireshark -k -i –

Puedes hacer el mismo truco con Tshark, si lo prefieres.


Prueba de velocidad

¿Qué saber lo rápido que es tu conexión ssh? Asegúrate de tener instalado el pv y prueba esto:

1yes | pv | ssh remote_host «cat >/dev/null»

¡Muy bien!

Si tiene buenas velocidades – o incluso si no las tiene – puede intentar montar un sistema de archivos remoto usando sshfs. Este es un sistema de ficheros FUSE – es decir, un sistema de ficheros que vive como un programa de usuario normal, no es parte del núcleo. Con nada en el lado remoto excepto el servidor ssh y las herramientas estándar, puede hacer que cualquier host que pueda conectar se parezca a un sistema de ficheros local.


Pero espera…

Hay mucho más que puedes hacer con ssh, y yo cubriré más en breve. Pero por ahora, espero que hayas encontrado al menos un truco de ssh que puedas usar y que sea, si no nuevo, al menos un recordatorio para ti.

Actualice sus tonos para encontrar los artículos perdidos

Actualice sus tonos para encontrar los artículos perdidos

¿Alguna vez has deseado aumentar tu sentido de la vista? El último hack de [Nick Bild] te ayuda a encontrar ...
Leer Más
Barcaderator es un arcade de monedas arriba y Kegerator abajo

Barcaderator es un arcade de monedas arriba y Kegerator abajo

Es común en nuestra comunidad que un gabinete de arcada que ha expirado su vida sea reutilizado como un gabinete ...
Leer Más
Ahora incluso su tarjeta de visita puede funcionar con Linux

Ahora incluso su tarjeta de visita puede funcionar con Linux

Se necesita mucho trabajo para conseguir una tarjeta de visita con PCB funcional que sea delgada, barata y lo suficientemente ...
Leer Más
IRENE va por ahí

IRENE va por ahí

Los equipos de lapso de tiempo son increíbles porque puedes darle sabor a tus vídeos con tomas de lapso de ...
Leer Más
Iron Man pone a otro hacker en armas

Iron Man pone a otro hacker en armas

Cuando salió la película Iron Man , apostaríamos a que no hubo un solo hacker que saliera del cine sin ...
Leer Más
Avanzar en el estado de la tecnología de las plataformas cibernéticas

Avanzar en el estado de la tecnología de las plataformas cibernéticas

Es algo raro poder ser testigo del nacimiento y posterior evolución de una tecnología, al menos en una escala de ...
Leer Más
Hackaday Links: 24 de noviembre de 2019

Hackaday Links: 24 de noviembre de 2019

Apenas lo parece, pero ya ha pasado una semana desde la Superconferencia de Digital Lithium de 2019 que se celebró ...
Leer Más
Ingeniería inversa de una pantalla de bus antiguo

Ingeniería inversa de una pantalla de bus antiguo

Cuando se le regaló a su makerspace un par de letreros LED Luminator del tipo que se puede ver en ...
Leer Más
1984 WeatherMan Pi muestra los cambios de Ch-Ch-Ch-Ch-Ch

1984 WeatherMan Pi muestra los cambios de Ch-Ch-Ch-Ch-Ch

Cuando la MIL de [MisterM] le regaló un reproductor de casetes portátil de los 80, saltó de alegría. Una vez ...
Leer Más
Alimentación de filamentos y electrones a través de un conector D-Sub personalizado

Alimentación de filamentos y electrones a través de un conector D-Sub personalizado

A veces olvidamos que las impresoras 3D son sólo plataformas CNC con un hotend acoplado, y que hay toda una ...
Leer Más
Vea que tan diferentes pueden ser los aires acondicionados (en el interior)

Vea que tan diferentes pueden ser los aires acondicionados (en el interior)

Los aires acondicionados son fáciles de dar por sentado. Desde los refrigeradores hasta el control de climatización, la mayoría de ...
Leer Más
Una CPU RISC-V construida a partir de un rasguño en una FPGA

Una CPU RISC-V construida a partir de un rasguño en una FPGA

"La arquitectura RISC va a cambiarlo todo", por lo que [SHAOS] está construyendo este genial ordenador de estilo retro RISC-V ...
Leer Más
Convirtiendo OLEDs y acrílico en tubos falsos Nixie

Convirtiendo OLEDs y acrílico en tubos falsos Nixie

Los ames o los odies, los Nixies y los relojes retro que adornan están aquí para quedarse. Al menos hasta ...
Leer Más
Cuentos de la Sysadmin: Volcado en la línea de mando de Grub

Cuentos de la Sysadmin: Volcado en la línea de mando de Grub

Hoy tengo una historia de misterio, de horror y de esperanza. El encanto de un nuevo núcleo y paquetes era ...
Leer Más
Hackaday Podcast 046: Tráenos tus tonterías, hackeando clones de NES, agarrando FPGAs, muchos un Hack de música, y peceras llenas de azar

Hackaday Podcast 046: Tráenos tus tonterías, hackeando clones de NES, agarrando FPGAs, muchos un Hack de música, y peceras llenas de azar

Diferencia de dos imágenes de la luna de Vikram, contraste ajustado. Los editores de Digital Lithium, Elliot Williams y Mike ...
Leer Más
Frentes Yosys para Xilinx ISE

Frentes Yosys para Xilinx ISE

Siempre nos maravillamos de cómo las herramientas de código abierto pueden superar a menudo a sus homólogos comerciales. Yosys, la ...
Leer Más
Hacer sus propios piñones de cadena, de forma ordenada

Hacer sus propios piñones de cadena, de forma ordenada

Los piñones de la cadena son un componente clave de la transmisión en muchas construcciones. Desafortunadamente pueden ser difíciles de ...
Leer Más
Construye un espectrómetro de masas

Construye un espectrómetro de masas

Una de las características que hizo grande a la revista Scientific American fue una columna llamada "The Amateur Scientist". Cada ...
Leer Más
Raspberry Pi 4 HDMI está interfiriendo su propio WiFi

Raspberry Pi 4 HDMI está interfiriendo su propio WiFi

Hacer actualizaciones a una línea de productos populares puede parecer una buena idea, pero añadir piezas más grandes/mejores/rápidas a un ...
Leer Más
El control remoto de la puerta clonada lo hace (ligeramente) mejor

El control remoto de la puerta clonada lo hace (ligeramente) mejor

¿Alguna vez hiciste algo sólo para ver si podías? Sí, eso pensamos. [serverframework] quería ver si podía clonar el control ...
Leer Más
¿Por qué su teléfono móvil no es un ordenador más útil?

¿Por qué su teléfono móvil no es un ordenador más útil?

A veces, cuando estás navegando al azar a través de las fuentes de tecnología, aparece un artículo que cristaliza un ...
Leer Más
El flash se carga en 40 segundos gracias a los supercondensadores

El flash se carga en 40 segundos gracias a los supercondensadores

Todos hemos cometido el pecado de hacer un pequeño robot arduino y hacerlo funcionar con pilas AA. Little Flash es ...
Leer Más
Programación de Arduinos con comandos de voz

Programación de Arduinos con comandos de voz

La programación es una habilidad valiosa, aunque puede ser difícil de aprender. Añade hardware a la mezcla, y las cosas ...
Leer Más
Simulación de circuitos en Python

Simulación de circuitos en Python

El uso de SPICE para simular un circuito eléctrico es una práctica bastante común en la ingeniería que "SPICEing a ...
Leer Más
La mímica emplea con arte los LEDs en la moda

La mímica emplea con arte los LEDs en la moda

Cualquier pieza de ciencia ficción ambientada en el futuro cercano implica ropa que se ilumina o que tiene algún tipo ...
Leer Más
Angela Sheehan está desarrollando una tecnología que se puede llevar puesta con capricho

Angela Sheehan está desarrollando una tecnología que se puede llevar puesta con capricho

Como concepto, la tecnología de vestir nos entusiasma a muchos de nosotros, pero en la práctica, ha sido difícil de ...
Leer Más
La piel robótica ve cuando (y cómo) la estás tocando

La piel robótica ve cuando (y cómo) la estás tocando

Las cámaras son cada vez menos visibles. Ahora se esconden bajo la piel de los robots. Un equipo de investigadores ...
Leer Más
ESP32 Muestreo de audio con interrupciones e IRAM

ESP32 Muestreo de audio con interrupciones e IRAM

Interrumpir mientras alguien habla es grosero para los humanos, pero inteligente para las computadoras. Ivan Voras] muestra cómo usar las ...
Leer Más
Una terminal serial Python para sacarte de un apuro

Una terminal serial Python para sacarte de un apuro

Cuando se juega con computadoras viejas, a veces se puede encontrar en una situación difícil. Lo que puede ser una ...
Leer Más
DTMF a su ordenador, con un Gamepad

DTMF a su ordenador, con un Gamepad

Aunque muchos de nosotros nunca habremos experimentado con él, la mayoría de los lectores deberían estar familiarizados con el DTMF ...
Leer Más

Deja un comentario