GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar, configurar y habilitar el servicio SSH en Linux

En Linux, Secure Shell (SSH) es un método en el que puede acceder a otra computadora a través de un sistema de comunicación encriptado seguro y bidireccional a través de Internet. Al habilitar el servicio SSH en Linux, puede usar el protocolo SSH como un servidor FTP (Protocolo de transferencia de archivos) o puede obtener acceso remoto a otra PC. Al habilitar el servicio SSH, puede conectar su dispositivo a otro dispositivo o servidor a través de un túnel seguro donde su identidad y las transmisiones de datos están totalmente seguras y encriptadas. Si eres administrador de red, debes saber habilitar y configurar el servicio SSH en Linux.

Servicio SSH en Linux

En Linux, el servicio SSH funciona con un método llamado cifrado de extremo a extremo, donde un usuario tiene una clave pública y otro usuario tiene una clave privada. La transmisión de datos puede ocurrir cuando ambos usuarios ingresan las claves de cifrado correctas. El SSH funciona a través de la interfaz de línea de comandos del terminal. La mayoría de los servidores Apache y los servidores Nginx utilizan el servicio SSH para obtener acceso remoto y brindar servicio a sus clientes. En esta publicación, mostraré cómo habilitar y usar el servicio SSH en varias distribuciones de Linux.

1. Instalación del servicio SSH en Ubuntu Linux

El servicio SSH está instalado de forma predeterminada en todos los sistemas operativos Linux o similares a Unix. Puede verificar si el servicio SSH está instalado dentro de su máquina Linux o no al verificar la versión SSH. Si encuentra que su Ubuntu tiene un SSH instalado, está listo para comenzar. Si no puede encontrar el servicio de shell seguro en su Ubuntu Linux, puede instalarlo con el comando apt-get install.

$ ssh -V

Antes de instalar cualquier paquete, debe actualizar y actualizar el repositorio de Ubuntu. Luego instale el paquete Openssh Server con el comando terminal shell. Todas las líneas de comando del terminal se dan a continuación.

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install openssh-server

2. Habilitación de SSH en Red Hat Linux y CentOS

Red Hat Linux se creó principalmente para la distribución de cargas de trabajo, la utilización de la nube y la ventana acoplable y el propósito de evolución. Aquí están las líneas de comando del terminal para verificar, instalar, iniciar y habilitar el servicio SSH en Red Hat Linux. Al igual que otras distribuciones de Linux, Red Hat también usa el puerto 22 para establecer el servicio SSH. Es posible que también deba permitir el acceso del firewall para el servicio SSH en CentOS y Red Hat Linux.

$ dnf install openssh-server
$ yum install openssh-server
$ systemctl start sshd
$ systemctl status sshd
$ systemctl enable sshd
firewall-cmd --zone=public --permanent --add-service=ssh

3. Habilitación de SSH en Arch Linux

Arch Linux usa el comando del administrador de paquetes (packman) para instalar cualquier aplicación. Primero, debe actualizar el repositorio del sistema de Arch Linux. Luego puede instalar el servicio OpenSSH en Arch Linux a través de los comandos de packman. Puede iniciar o detener cualquier servicio SSH, verificar el estado de SSH y deshabilitar el servicio SSH en Arch Linux usando el systemctl comando de terminal.

$ sudo pacman -Sy 
$ sudo pacman -S openssh
$ sudo systemctl status sshd
$ sudo systemctl start sshd
$ sudo systemctl status sshd
$ sudo systemctl stop sshd
$ sudo systemctl enable sshd
$ sudo systemctl disable sshd
$ sudo systemctl restart sshd

Para configurar el script del servicio SSH en Arch Linux, debe abrir el archivo de configuración desde el /etc/ssh/ directorio.

$ man sshd_config / config files 
$ sudo nano /etc/ssh/sshd_config

4. Habilitación de SSH en Fedora Linux

Antes de instalar el servicio SSH en Fedora Linux, verifiquemos si el servicio SSH ya está instalado dentro de la máquina o no. Usaremos el comando de terminal grep para verificar la disponibilidad del servicio SSH en Fedora Linux. Fedora Linux también usa el puerto 22 para establecer conexiones shell seguras.

Además, podemos verificar el estado total del servicio SSH usando el systemctl comando en el terminal shell. Además de estos, puede iniciar, detener, habilitar y deshabilitar el shell seguro en Fedora Linux usando las líneas de comando del terminal que se detallan a continuación.

$ rpm -qa | grep openssh-server 
$ sudo dnf install -y openssh-server;
$ sudo systemctl status sshd
$ sudo ss -lt
$ sudo systemctl start sshd.service;
$ sudo systemctl stop sshd.service;
$ sudo systemctl disable sshd.service;

Algunos comandos principales del servicio SSH

Hasta ahora, hemos pasado por el proceso de cómo habilitar y configurar el servicio SSH en las distribuciones de Linux. Ahora, veremos cómo ejecutar algunos comandos básicos del servicio SSH en Linux. Aquí, mostraré las reglas principales para establecer un servicio seguro, obtener acceso al firewall y reenviar túneles en Linux. Una vez que conozca los fenómenos fundamentales del servicio SSH, podrá habilitar y configurar otros servicios SSH por su cuenta.

Tarea 1:Comandos básicos del servicio SSH en Linux

Una vez que el servicio SSH está instalado dentro de su máquina Linux, ahora puede verificar el estado del sistema, habilitar el servicio SSH y comenzar con el sistema de shell seguro. Aquí, se dan algunos comandos SSH básicos. También puede apagar el sistema SSH si no lo necesita.

$ sudo systemctl status ssh
$ sudo service ssh status
$ sudo systemctl enable ssh
$ sudo systemctl start ssh
$ sudo systemctl stop ssh

Tarea 2:Obtener acceso al firewall para el servicio SSH

Cuando se trata de un protocolo de transferencia de Internet, debe obtener acceso al firewall. De lo contrario, el cortafuegos puede bloquear e interrumpir su conexión. Aquí, estoy usando el sistema de firewall UFW para configurar el servicio SSH en Linux. Después de habilitar el firewall UFW, ahora puede verificar el estado del firewall. El sistema de firewall monitoreará todas las redes entrantes y salientes de su dispositivo.

$ sudo ufw allow ssh
$ sudo ufw enable
$ sudo ufw status

Tarea 3:Conexión a una IP específica a través del servicio SSH en Linux

Si está utilizando una dirección IP estática para la conexión de shell seguro, puede establecer reglas para la red y el puerto específicos. Para el servicio SSH, el puerto predeterminado es 22. Puede cambiar el puerto si es necesario. Ejecutaremos el vvv Comando para verificar y configurar el protocolo SSH contra una dirección IP específica. En mi caso, estoy tratando de conectar el localhost la red. Aquellos que no saben cómo obtener una red localhost en Linux pueden ver los procedimientos de cómo instalar el servidor Apache en Linux.

$ vvv-ssh
$ ssh -vvv localhost

Hágale saber su nombre de usuario y la dirección IP estática, ahora puede construir una red shell segura desde su máquina Linux a otro dispositivo. Si no conoce su nombre de usuario, puede seguir el comando de terminal que se indica a continuación.

$ whoami

Para conectarse a su dirección de host local, use estas líneas de comando de terminal en su shell de terminal de Linux. He demostrado varios métodos para acceder al servicio SSH con un nombre de usuario específico y una dirección IP.

$ ssh
$ ssh [email protected]_address
$ ssh [email protected]
$ sss [email protected]

Para encontrar su dirección IP, puede usar los comandos básicos de la herramienta de red para obtener los detalles de su protocolo de Internet. Y ahora, supongo que conoce tanto su dirección IP como su nombre de usuario. Este es el método para conectarse a una dirección IP específica. Debo mencionar que también puede conectarse a una dirección IP pública a través de un servicio SSH en Linux.

$ ip a
$ ifconfig
$ ssh [email protected]
$ ssh [email protected]_ip_address

Tarea 4:Configurar el reenvío de puertos en Linux

Ya sabemos que los protocolos de Internet funcionan con una dirección IP asignada y un número de puerto. El término reenvío de puertos o tunelización es el método de desviar los paquetes de datos a través de un túnel donde sus huellas digitales están ocultas y protegidas. Los métodos de reenvío de puertos se aplican cuando enfrenta alguna protección de firewall o cualquier restricción para llegar a su servidor de destino.

Pero, antes de comenzar a tunelizar, asegúrese de tener suficientes puertos abiertos disponibles para reenviar puertos. Hay varios tipos de reenvío de puertos, como el reenvío local, el reenvío virtual y el reenvío de puertos dinámico.

Aquí, voy a describir el reenvío de puerto local, el reenvío de puerto dinámico y el sistema de reenvío de puerto remoto a través del servicio SSH en Linux. Para habilitar el reenvío de puertos, debemos verificar el archivo de configuración del servicio SSH. Podemos encontrar el archivo de configuración de SSH en root/etc/ssh directorio.

Podemos abrir directamente el script de configuración a través del editor Nano. Aquí, sería mejor si cambiaras el valor de PermitTunnel to yes , y el GatewayPorts to yes . Luego guarde el archivo de script. Después de configurar el script SSH, debe reiniciar el servicio SSH en su máquina Linux.

$ sudo nano /etc/ssh/sshd_config
$ nano ~/.ssh/config
$ vi $HOME/.ssh/config
$ sudo vim /etc/ssh/sshd_config
GatewayPorts yes
$ sudo systemctl restart sshd
$ sudo service sshd restart

Ahora, deje que desee reenviar una dirección IP desde su máquina Linux local al servidor a través del servicio de túnel SSH. Todo lo que necesita hacer es abrir el terminal y escribir ssh y luego escribir su [email protected]_address .

$ ssh [email protected]_address.com

Para el reenvío de puertos remotos, puede usar el mismo procedimiento del servicio SSH en Linux. Pero si desea hacer el proceso en segundo plano, debe agregar el -f -N  sintaxis antes de la dirección de su servidor. También puede configurar el reenvío de puertos locales y dinámicos a través del servicio SSH en Linux.

$ ssh -f -N [email protected] -R 5000:localhost:3000
$ ssh -f -N -D 1080 [email protected]
$ ssh -L 8080:www.ubuntupit.com:80 jahid
$ ssh -R 5900:localhost:5900 jahid

Para permitir la aplicación de mapeo de puertos para software específico, puede usar el servicio SSH en su máquina Linux. Aquí, estoy usando el puerto 15169 para Firefox. Luego, es posible que también deba configurar Firefox Networking.

$ ssh -X jahid
$ firefox &
$ ssh -fTXC jahid firefox
$ ssh -C -D 15169 jahid

Tarea 5:habilitar y autorizar el sistema SSH

En Linux, puede usar el systemctl Comando para iniciar, detener, habilitar, deshabilitar y reiniciar el servicio SSH. Después de habilitar el servicio SSH, ahora puede verificar el puerto que se usará para establecer las conexiones de shell seguras. Podemos comprobar el número de puerto desde el archivo de script de configuración de SSH. El archivo de configuración de SSH se encuentra en el /etc/ssh/ directorio. Podemos abrir directamente el archivo de configuración utilizando el editor de secuencias de comandos Nano.

$ sudo systemctl stop ssh
$ sudo systemctl start ssh
$ sudo systemctl enable ssh
$ sudo service ssh restart

Una vez que se abre el script, podrá ver la familia de direcciones, el número de puerto, las direcciones IP de escucha y otros archivos de registro. Si encuentra que algo está mal en el script de configuración, también puede restablecer el archivo de configuración.

$ sudo nano /etc/ssh/sshd_config
$ /etc/init.d/sshd restart

$ sudo nano /etc/ssh/sshd_config
$ /etc/init.d/sshd restart
$ vi /etc/ssh/sshd_config

También puede probar otros métodos para habilitar y configurar el servicio SSH en Linux. Este método le pedirá al usuario que cree un directorio para configurar y almacenar los datos. Puede crear un servicio SSH específico para cada usuario en Linux. Usaré el touch comando para configurar el archivo de script. Aquí, estoy usando mi nombre de host, tenga cuidado de usar su nombre de host. Luego reinicie el servicio SSH.

$ /etc/ssh/ssh_config 
$ ~/.ssh/config or $HOME/.ssh/config
$ mkdir -p ~/.ssh
$ chmod 0700 ~/.ssh
$ touch ~/.ssh/config
$ chmod 0700 ~/.ssh/config
~/.ssh/config
$ ssh UbuntuPIT
$ /etc/init.d/sshd restart

Ayuda adicional para administrar los servicios de Secure Shell

A veces, mantener una conexión de red segura y dúplex puede ser un poco complicado. Como administrador de red de Linux, debe saber cómo manejar los problemas imprevistos de las operaciones de shell seguras. Debe saber qué hacer cuando, de repente, el servicio SSH en ejecución se desconecta. También necesita saber cómo instalar el servicio SSH en el dispositivo del cliente.

$ sudo apt-get remove openssh-client openssh-server
$ sudo apt-get install openssh-client openssh-server

Para obtener más ayuda sobre el servicio SSH en Linux, puede usar la función de ayuda predeterminada desde el shell del terminal. Estos son algunos comandos de terminal básicos relacionados con el servicio SSH que pueden resultarle útiles y prácticos para verificar SSH y SSHD en Linux.

$ ssh –help
$ which ssh
$ which sshd
$ whereis ssh
$ ssh -v localhost

Pensamientos finales

El servicio Secure Shell es la aplicación más efectiva y poderosa para conectar dos dispositivos de forma remota. Sin embargo, algunas aplicaciones de acceso remoto basadas en la interfaz gráfica de usuario también están disponibles para Linux. Pero, en la carrera larga, el servicio SSH es mucho mejor y confiable para Linux. En esta publicación, describí todas las formas posibles de habilitar el servicio SSH en Linux. También he demostrado las ideas fundamentales del reenvío de puertos y el cifrado de extremo a extremo.

Si eres un administrador de sistemas, debes saber lo esencial que es tener un conocimiento completo del servicio SSH. Entonces, si te gusta este artículo, puedes compartir esta publicación en tus redes sociales. Y también te animamos a que escribas tus opiniones relacionadas con esta publicación en la sección de comentarios.


Linux
  1. Cómo instalar y configurar Dovecot

  2. Cómo instalar y configurar el cliente Putty SSH en el escritorio de Linux

  3. Cómo instalar y configurar Memcached en Ubuntu Linux

  4. Cómo instalar y configurar Redis en Debian

  5. Cómo instalar y configurar EMC PowerPath en Linux

Cómo instalar y configurar Slack en distribuciones de Linux

Cómo instalar y configurar Perf en distribuciones de Linux

Cómo instalar y configurar Terraform en distribuciones de Linux

Cómo instalar y configurar Gradle en distribuciones de Linux

Cómo instalar y configurar Git en distribuciones de Linux

Cómo instalar y configurar Yarn en distribuciones de Linux