How to Use SSH Pipes on Linux

Cómo usar tuberías SSH en Linux

Como la mayoría de los comandos en Linux, SSH se puede usar con la redirección de entrada/salida a través de | (Tubo Unix). SSH también se puede usar con esta canalización. El concepto básico aquí es comprender cómo funciona la canalización de Unix.

Cuando comprenda cómo funcionan las tuberías, puede volverse seriamente creativo. Este artículo cubre lo que sucede cuando combina tuberías Unix y SSH. Cabe señalar que, dado que las tuberías de Unix pueden ser casi cualquier cosa, no hay duda de que habrá comandos que no estén en esta lista que también serían útiles.

Comprender la canalización de Unix

Las tuberías en Unix (y por extensión, Linux) se utilizan para encadenar programas y hacer que funcionen juntos. Por ejemplo, usando catpuede mostrar el contenido de un archivo, pero si usó una canalización, podría encadenar el cat mando a la more comando para hacer que el archivo sea más fácil de leer.

ssh-pipes-cat-más-ejemplo

La idea básica aquí es esta: program1 fileX | program2. Sin embargo, no se limita a un archivo y dos programas. La canalización puede ser tan avanzada como lo necesite con tantos modificadores como pueda imaginar.

Nota: Algunos tipos de tuberías se pueden hacer sin usar el |. Algunos pueden usar > en cambio.

5 útiles comandos de tubería SSH

Ahora que la canalización de Unix tiene un poco de sentido, veamos qué podemos hacer con el protocolo y las canalizaciones SSH. Aquí hay una lista de algunas tuberías realmente geniales que la mayoría encontrará útiles cuando se combinen con SSH.

1. Transferencia de archivos comprimidos

Olvídate de usar scp transferir archivos; puede hacerlo con un simple comando de tubería SSH. No es necesario instalar nada.

tar czf - /home/localuser/filefolder | ssh remote-machine@ip.address.of.remote.machine tar -xvzf -C /home/remoteuser/

ssh-pipes-copiar-archivo-comprimido

Esto utiliza el programa tar para comprimir sus datos localmente y luego se canaliza a través de SSH. Desde allí, la máquina remota recibe el archivo y lo extrae a la carpeta que especificó. En realidad, nunca verá un archivo .tar, pero hace uso de uno.

2. Ejecutar un script local en una máquina remota (o remota en local)

¿Tienes un script escrito en tu computadora y quieres probarlo muy rápido? No es necesario empujar el archivo ni nada por el estilo. ¡Simplemente canalice su archivo local a través de SSH y ejecútelo de esta manera!

ssh remoteuser@ip.address.of.server 'bash -s' < scriptfile.sh

Con este comando, elimina la necesidad de enviar archivos a máquinas remotas para ejecutar scripts de shell. Ahorra mucho tiempo a largo plazo.

3. Copia de seguridad remota del disco duro

¿Quiere hacer una copia de seguridad de su computadora en su máquina remota sin tener que sacar el disco duro físicamente y conectarlo? Es fácil de hacer, y con una tubería SSH, nada menos. Así es como funciona:

sudo dd if=/dev/sda | ssh remoteuser@ip.addresss.of.remote.machine 'dd of=sda.img'

Esto hace uso de la dd dominio. Utiliza su unidad local (sda) como fuente y luego canaliza la salida a través de SSH para escribirla en un archivo de imagen sin formato.

ssh-pipes-copia de seguridad-disco duro

Nota: Es posible que la unidad de la que desee hacer una copia de seguridad tenga una denotación diferente. Utilizar el lsblk Comando para averiguar de qué unidad desea realizar una copia de seguridad. Este comando le dirá qué /dev/ para usar en el if= parte del comando anterior.

4. Restauración remota del disco duro

¿Quiere restaurar esa imagen que acaba de respaldar en su máquina? Es fácil. Esta vez el comando funciona a la inversa. Nuevamente, si la unidad que está restaurando tiene un nombre diferente al que se muestra en el ejemplo, use el lsblk Comando para averiguar qué /dev/ está catalogado como.

ssh remoteuser@ip.address.of.remote.machine 'dd if=sda.img' | dd of=/dev/sda

ssh-pipes-disco-duro-backup-img

Ejecute este comando y el archivo .img que creó se restaurará a través de la red en el disco duro que especifique.

5. Enviar un archivo

Enviar un solo archivo a través de SSH es fácil. Aquí se explica cómo hacerlo con tuberías.

cat file | ssh remoteuser@ip.address.of.remote.machine "cat > remote"

Este comando utiliza el comando cat para enviar un archivo a través de una tubería. También puede recuperar ese archivo con el siguiente comando:

ssh remoteuser@ip.address.of.remote.machine "cat > remote" < file

Conclusión

Aunque no parezca tan impresionante, las tuberías pueden simplificar y transformar la forma en que usa los comandos en Linux. Aunque esta lista destaca algunos de los más útiles, es solo la punta del iceberg. Con lo versátil que es la barra vertical, las posibilidades de canalizar cosas a través de SSH son infinitas.

¿Conoce algún buen comando de canalización SSH? ¡Cuéntanos a continuación!

Credito de imagen: comunes de wikimedia

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas