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án útiles.
Comprender la canalización de Unix
Las cadenas en Unix (y por extensión, Linux) se utilizan para encadenar programas y hacer que funcionen juntos. Por ejemplo, usando cat
puede 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 mas facil de leer.
cat file1 | more
La idea basica aqui 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.
No un: Algunos tipos de conductos se pueden hacer sin usar el |
. Algunos pueden usar >
en cambio.
5 comandos útiles 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 encuentran útiles cuando se combinan con SSH.
1. Transferencia de archivos comprimidos
Olvídate de usar scp
transferir archivos; puede hacerlo con un simple comando de falla SSH. No es necesario instalar nada.
tar czf - /home/localuser/filefolder | ssh remote-machine@ip.address.of.remote.machine tar -xvzf -C /home/remoteuser/
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. Asi 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 procesar.
No un: Es posible que la unidad de la que desee hacer una copia de seguridad tenga una denotación diferente. usar el lsblk
Comando para averiguar 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
Ejecute este comando y el archivo .img que creó se restaurará a través de la red en el disco duro que utilice.
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. Tambien 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
Danos tu opinión