GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar SSH en Linux desde Android

Resumen

Como se menciona en el título, vamos a configurar una conexión SSH a nuestro servidor Linux desde un teléfono Android. Lo que significa que con esta configuración, podremos acceder a nuestros servidores Linux, desde una aplicación de cliente SSH Android desde dentro de la red LAN y también a servidores remotos, como servidores en la nube. Además, cubriremos los pasos para crear las claves SSH e instalarlas en nuestro servidor también. Para configurar todo esto, ya necesita tener acceso al servidor en el que desea habilitar el acceso SSH.

Configuración de SSH en el servidor

Como se indicó anteriormente, primero debe tener acceso a su servidor Linux y también poder usar la terminal. Otra pieza importante para esta configuración es que su servidor tenga instalado un servidor SSH. En algunas distribuciones, el servidor SSH viene instalado de forma predeterminada. Pero, si no tiene un servidor SSH instalado, puede instalar el servidor OpenSSH como ejemplo. Comandos para instalar el servidor OpenSSH en distribuciones basadas en Debian/Ubuntu:

sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server

Verifique que el servicio SSH se haya iniciado y se esté ejecutando:

sudo systemctl status ssh.service

Salida para el estado del servicio SSH:

Si el servicio no se está ejecutando, ejecute estos comandos para iniciar el servicio y también para habilitar el inicio automático al iniciar el sistema:

sudo systemctl enable ssh

sudo systemctl start ssh

Otra parte importante de esta configuración es que si tiene un firewall instalado en su servidor. Luego debe configurar el firewall para permitir el tráfico SSH en él. Por ejemplo, si usa el firewall ufw en el servidor, debe ejecutar este comando para permitir la conexión SSH desde su teléfono Android o cualquier otro cliente SSH:

sudo ufw allow ssh

Configuración del cliente SSH Android

Una vez que el servidor SSH está instalado y el servicio se está ejecutando, ya puede usar la conexión SSH y el control remoto en sus servidores Linux dentro de la red LAN y también en los servidores en la nube. De forma predeterminada, el servicio SSH en el servidor configura la autenticación con el nombre de usuario y la contraseña. Si solo planea acceder al servidor dentro de la red LAN, esto podría ser suficiente para usted. Si también necesita agregar claves SSH desde su Android, continúe leyendo.

Mi aplicación de cliente Android SSH preferida es JuiceSSH. En primer lugar, se puede descargar gratis desde Play Store, tiene muchas funciones, es compatible con todos los cifrados SSH, tiene un teclado incorporado para funciones especiales y atajos de teclado, y no limita la cantidad de conexiones. Para este tutorial, usaremos JuiceSSH como ejemplo. Otros clientes SSH de Android funcionan más o menos igual, si prefieres otros.

Configuración de la conexión y cuenta de usuario

Cuando inicie la aplicación, abra la primera opción:Conexiones (administre sus conexiones).

En conexiones:todas sus conexiones a los servidores se almacenan. Vamos a crear uno nuevo, pero antes necesitamos configurar una identidad, también conocida como la cuenta de usuario para la conexión SSH. Deslízate hacia la izquierda hasta la pestaña de identidades.

El apodo es opcional. En nombre de usuario, configure la cuenta de usuario que utilizará para conectarse e iniciar sesión en su servidor. Por supuesto, el nombre de usuario debe coincidir con una cuenta existente en su servidor, como root. Establecer contraseña también es opcional. Si no desea que se le solicite la contraseña cada vez que desee conectarse, configúrela y la aplicación guardará la contraseña. La clave privada se tratará en el siguiente párrafo.

Una vez que haya creado el usuario para la aplicación, regrese a la pestaña de conexiones y cree una nueva conexión. El apodo nuevamente es opcional, pero puede ser útil si tiene más de un servidor para conectarse. El tipo es, por supuesto, SSH. La dirección es la dirección IP de su servidor, si es de la red LAN, entonces debe escribir la dirección IP local de su servidor. Para este caso, es una buena opción establecer una dirección IP estática en su servidor.

Pero, si desea conectarse a un servidor en la nube, debe agregar la dirección IP pública de su servidor. Y por último, debe elegir la identidad o la cuenta de usuario que utilizará para acceder al servidor. Después de eso, debe poder conectarse a su servidor. Entonces, hasta ahora, esta configuración de conexión SSH funcionará y puede conectarse, pero esto es sin la clave SSH en su teléfono Android.

MUY RECOMENDABLE

Si desea agregar una conexión más segura a su servidor e instalar claves SSH, especialmente si necesita conectarse a un servidor remoto en la nube, continúe leyendo. Se recomienda encarecidamente agregar claves SSH a sus servidores remotos.

Generación de claves SSH

Tenga en cuenta que tenga cuidado con los siguientes pasos, de lo contrario, podría terminar bloqueándose del servidor. En la aplicación JuiceSSH necesitamos generar las claves SSH para la cuenta que vamos a usar.

En la aplicación, vuelva a navegar por la pestaña de identidades, mantenga el dedo sobre la identidad para la que desea generar las claves ssh, hasta que aparezca el menú emergente y seleccione la opción editar.

Luego, haga clic en el botón - ACTUALIZAR/BORRAR justo al lado de la etiqueta de clave privada. Pero, si está creando una nueva identidad/usuario por primera vez, entonces el botón dirá:CONFIGURAR justo al lado de la etiqueta de clave privada.

Una vez que obtenga el menú de claves, navegue a la pestaña generar. El formato de clave elige RSA. La intensidad de la clave elige al menos 2048 bits o mejor 4096 bits. La frase de contraseña es opcional, pero es una capa adicional de seguridad, por lo que no le hará daño agregarla también si lo desea. Haga clic en Aceptar cuando termine y guarde el cambio. Las claves tardarán un minuto en generarse.

El siguiente paso, mientras aún está en la aplicación, mantenga el dedo nuevamente sobre la identidad y esta vez seleccione la opción Exportar la clave pública y copiarla. Toma buena nota y guárdalo.

JuiceSSH ahora usará los nuevos generados cada vez para esa cuenta.

Instalación de llaves SSH

Ahora en el servidor de nuevo. Ahora necesitamos agregar esa nueva clave pública que acabamos de crear y copiar. Abra el terminal y navegue hasta la carpeta .ssh del usuario y edite el archivo de claves autorizadas. Si el archivo no existe, créelo. Puedes hacer ambas cosas con este comando:

sudo nano .ssh/authorized_keys

En este archivo, pegue su clave, guarde el archivo y salga.

A continuación, vamos a cambiar la configuración del servidor SSH. Allí, debemos decirle al servidor que use el archivo de claves_autorizadas y que lea nuestras claves SSH.

TENGA EN CUENTA DE NUEVO

Por lo general, lo que es una opción sugerida y más segura es deshabilitar la opción de inicio de sesión con contraseña predeterminada (para evitar ataques de fuerza bruta en nuestro servidor) y habilitar el inicio de sesión solo con las claves SSH. Antes de terminar la configuración, revisa todo lo que has hecho y ten cuidado para no quedarte fuera del servidor. Por supuesto, no es el fin del mundo si te quedas bloqueado, puede ser un poco más inconveniente corregir los cambios. Con los servidores en LAN, accede a ellos directamente/psíquicamente y corrige los cambios y ahora los proveedores de la nube proporcionan a sus usuarios en el panel de control una terminal virtual con acceso directo a su servidor y con eso también puede corregir los cambios. Pero, si no tiene este tipo de escenario y solo tiene la opción de acceder de forma remota a su servidor remoto a través de SSH, tenga cuidado.

Configuración del servidor SSH

Ahora navegue a la configuración del servidor SSH y realice los cambios como se muestra a continuación:

Comando para la configuración del servidor SSH:

sudo nano /etc/ssh/sshd_config

Luego busque y descomente las siguientes opciones y edítelas para que se vean así:

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
PasswordAuthentication no

Después de realizar los cambios, guarde la configuración y reinicie el servicio SSH para que se apliquen los cambios.

sudo systemctl restart ssh

Después de eso, debería poder iniciar sesión a través de una conexión SSH a su servidor Linux desde su teléfono Android usando claves SSH.

Aquí hay un par de imágenes sobre cómo se ve la conexión ssh exitosa:

Resumen

Este fue el proceso de configuración para la conexión SSH a un servidor Linux para su teléfono Android. Con esta configuración, debería poder conectarse a sus servidores a través de SSH desde su Android.

Muchas gracias por su tiempo…


Linux
  1. Cómo cambiar el puerto SSH en Linux

  2. Linux:¿cómo ejecutar un gestor de arranque desde Linux?

  3. ¿Cómo enviar Ssh a un servidor usando otro servidor?

  4. Linux:¿cómo iniciar sesión como usuario en Tty desde Ssh?

  5. Cómo configurar SSH sin contraseña en Linux

Cómo administrar de forma remota un servidor Linux con SSH

Cómo actualizar Ubuntu Server a 20.04 desde 18.04

Cómo SSH en su servidor Linux desde Windows

Cómo SSH al servidor a través de Linux

Cómo conectarse a SQL Server desde Linux

Cómo SSH en una máquina con Windows 10 desde Linux O Windows O en cualquier lugar