Cómo instalar SSH en Linux y comandos útiles

¿Nuevo en Linux? ¿No estás seguro de qué es SSH o qué puedes hacer con él? En este artículo, explicaremos cómo puede configurar y usar SSH en Linux. Repasaremos cómo funciona y algunas cosas útiles que puede hacer con él. ¡Empecemos!

SSH es una de las herramientas más utilizadas en la plataforma Linux. A pesar de esto, no es un programa que viene configurado en la mayoría de las distribuciones principales de Linux (excepto Fedora y OpenSUSE). Configurar SSH es sencillo. Si solo está buscando conectarse a una PC Linux remota con SSH, lo más fácil es instalar la herramienta de conexión del cliente. Esta herramienta es solo SSH en sí, y nada para ejecutar un servidor de conexión.

Aún así, es una buena idea configurar un servidor SSH en cada PC con Linux. De esta manera siempre puede haber comunicación bidireccional, y cualquier PC puede enviar una conexión y recibirla también. Aquí le mostramos cómo hacerlo funcionar.

Instalar herramientas SSH

Ubuntu

sudo apt install openssh-server

Arch Linux

sudo pacman -S openssh

sudo systemctl enable sshd

sudo systemctl start sshd

Debian

sudo apt-get install openssh-server

Fedora / OpenSUSE

Aunque es posible que SSH ya esté instalado, es posible que el servidor no esté habilitado. Para habilitarlo, abra una terminal e ingrese:

sudo systemctl enable sshd

sudo systemctl start sshd

Otro

Otras distribuciones de Linux no mencionadas aquí pueden tener las herramientas SSH necesarias para que todo funcione. De lo contrario, es mejor consultar el manual oficial de la versión de Linux que está utilizando. Alternativamente, busque en el lugar donde normalmente instala los programas y busque: openssh-server, ssh, sshd, etc.

  Cómo generar códigos QR en Linux

A continuación, abra el archivo de configuración de SSH y cambie una configuración o dos. El principal es el puerto predeterminado. Mira, SSH usa el puerto 22. Este es un puerto muy conocido. Como resultado, los piratas informáticos y otros actores maliciosos probablemente irán tras este puerto e intentarán obtener acceso a él. Considere cambiar el puerto a algo aleatorio. Realmente no importa qué puerto, solo asegúrese de que no sea uno que ya esté siendo utilizado por otros programas.

Edite el archivo de configuración con: sudo nano / etc / ssh / ssh_config

Desplácese hacia abajo y busque el # Puerto 22 en el archivo. Elimine el “#” y cambie el número de “22” al puerto que desee. Presione Ctrl + O para guardar los cambios. Luego reinicie SSH usando los siguientes comandos.

Ubuntu / Debian:

service ssh restart

Arch / OpenSUSE / Fedora:

sudo systemctl sshd restart

Nota: si no planea reenviar su puerto SSH a Internet, no es necesario cambiar el puerto SSH. Si permanece en LAN, está bien.

Conéctese con SSH a su servidor con: ssh -p número de puerto remoto @ host

Transferencia de archivos por línea de comandos

SSH es útil cuando necesita acceder de forma remota a otra computadora. Puede ser una computadora a la que acceda a través de Internet o una que se encuentre en la misma habitación. A veces, al acceder de forma remota a una PC con Linux, es posible que necesite acceder a los archivos. Quizás sean archivos de configuración o documentos importantes. Enviar archivos a una máquina remota cuando solo tiene acceso a la terminal de Linux puede ser realmente tedioso.

  Cómo crear un servidor de respaldo de Dropbox en Linux

Es por eso que SSH viene con una funcionalidad incorporada para transferir archivos fácilmente de un lado a otro, directamente a través de SSH.

scp / ruta / a / archivos-o-carpetas usuario @ direcciónip: / ruta / a / destino

Reemplace / ruta / a / y etc. para reflejar sus propias necesidades. Por ejemplo, el tuyo podría verse un poco así;

scp /home/derrik/importantfile.txt derrik@ubuntu-server:/home/derrik-server/files/

Servidor FTP seguro en cualquier lugar

FTP es una tecnología antigua, pero eso no significa que ya no sea útil. De hecho, FTP todavía se usa mucho cuando se trata de SSH. ¿Por qué? Hace que sea muy fácil acceder al disco duro de una PC Linux remota desde el administrador de archivos, localmente. No es necesario configurar SSH para comenzar a usar SFTP. Cualquier PC Linux con un servidor SSH en ejecución también tiene SFTP. Para acceder a él, abra el administrador de archivos de su elección, busque «servidor», «red» o algo por el estilo. Tenga en cuenta que cada administrador de archivos de Linux es diferente, por lo que es imposible dar cuenta de todos ellos.

sftp://username@hostname:portnumber

Cuando ingrese la dirección FTP, se le pedirá que ingrese una contraseña, así como que acepte la clave del servidor SSH.

Nota: deberá reenviar el puerto que usa para SSH para acceder a SFTP fuera de su red. Consulte el manual de su enrutador para aprender cómo reenviar puertos.

Copia de seguridad remota

SSH tiene muchos usos, incluida la copia de seguridad remota de unidades y particiones. Para hacer una copia de seguridad de un disco duro desde una PC local y enviar la imagen a través de la red a través de SSH, use esto:

  Cómo configurar y usar el navegador web Qutebrowser en Linux

Nota: en este ejemplo, el disco duro que se utiliza es / dev / sda. Deberá cambiar el comando para que se adapte a sus necesidades.

Copia de seguridad de partición

dd if=/dev/sda1 | gzip -1 - | ssh remote@host dd of=image.img.gz

Toda la unidad

dd if=/dev/sda | gzip -1 - | ssh remote@host dd of=image.img.gz

También es posible capturar la imagen (o particiones) del disco duro de la unidad remota:

Copia de seguridad de partición

ssh remote@host "dd if=/dev/sda1 | gzip -1 -" | dd of=image.img.gz

Toda la unidad

Edit the config file with:ssh remote@host "dd if=/dev/sda | gzip -1 -" | dd of=image.img.gz

Extraiga la imagen con: gzip -d image.img.gz

Visualización de programas remotos de forma local

A veces, el terminal no es suficiente cuando se accede a una computadora de forma remota. Afortunadamente, con SSH, es posible hacer un reenvío de ventanas X. Esto significa que puede usar el servidor GUI x11 para reenviar ventanas remotas a su máquina local. Por ejemplo, si necesita probar un sitio web en la PC Linux remota, podrá iniciar Firefox de forma remota y reenviar la ventana x11 de Firefox a su PC Linux, localmente.

Habilite el reenvío de ventanas X11 editando el archivo de configuración ssh: sudo nano / etc / ssh / ssh_config

Busque # ForwardX11 no, elimine «#» y cambie «no» por «sí».

Reinicie el servicio SSH.

Ubuntu / Debian:

service ssh restart

Arch / OpenSUSE / Fedora:

sudo systemctl sshd restart

Cuando se conecte a través de SSH, use el interruptor -X.

ssh -X -p portnumber remote@host

Conclusión

SSH es una herramienta útil, pero no muchos usuarios principiantes de Linux lo saben. Es una pena, ya que tiene muchos usos. En este artículo, acabamos de arañar la superficie. Cuando se trata de usar shell seguro, el único límite es tu propia habilidad.