linux

Instalar servidor SSH sobre Termux en Android

Servidor SSH en Termux usando OpenSSH

En este post te mostraré cómo instalar un servidor SSH en Termux para que puedas iniciar sesión de forma remota.

La ventaja de esto es que podrás conectarte desde una PC u otro lugar en donde puedes conectar un teclado (ya que con el teclado del teléfono es complicado)

Vamos a usar el servidor openssh y veremos la forma de autenticar usando contraseña, o usando claves públicas y privadas.

Nota: recuerda configurar e instalar Termux, y no olvides ejecutar termux-setup-storage como en el tutorial que cito.

Instalar OpenSSH y herramientas

Comenzamos actualizando los repositorios, e instalando el paquete openssh:

pkg upgrade

pkg install openssh

En ambos casos, si pregunta, elegimos que sí escribiendo la letra Y.

También es necesario instalar net-tools y procps con:

pkg install net-tools (averiguar IP)

pkg install procps (matar procesos)

pkg install nano (para editar archivos)

Ajustes de OpenSSH

La configuración de OpenSSH está en $PREFIX/etc/ssh/sshd_config y podemos verla navegando con cd $PREFIX/etc/sshd y después usar cat sshd_config:

Autenticación con contraseña activa

El parámetro PasswordAuthentication está en yes, así que podemos ingresar con un usuario y contraseña en lugar de claves públicas y privadas.

Más adelante vamos a ver cómo cambiar este parámetro, ya que la autenticación con contraseña no es recomendada.

Iniciar y detener demonio SSH

Para iniciar el demonio, es decir, escuchar conexiones, se ejecuta:

sshd

Para matarlo o detenerlo, se usa:

pkill sshd

pkill viene con procps, por eso era necesario instalarlo.

Nota: se escucharán conexiones en el puerto 8022.

Conexión a servidor SSH en Android

Ya estamos escuchando conexiones SSH, pero todavía no sabemos nuestro usuario, contraseña e IP.

Averigua tu usuario escribiendo:

whoami

Ahora ponle una contraseña segura ejecutando:

passwd

Mostrar usuario con whoami y cambiar contraseña usando passwd

Finalmente mira cuál IP tienes, escribiendo:

ifconfig

(este comando viene con las net-tools)

Cuando tengas esos datos ya puedes conectarte desde otro lugar. Si usas linux en el terminal cliente ejecuta:

ssh TU_IP -p 8022

En caso de que uses Putty, rellena los campos y listo.

Cualquiera de los dos métodos, te llevará al proceso de autenticación, escribe el usuario y la contraseña y ya está.

Conexión a servidor SSH en Termux, usando Putty en Windows

Ya puedes administrar tu “servidor” de Linux sobre Android de manera remota.

Si muestra un aviso sobre “the server’s host key” haz click en

Nota: no se recomienda para nada usar autenticación con usuario y contraseña, lo mejor y más seguro es usar claves públicas y privadas.

Autenticación con clave pública y privada

Este método es el que se recomienda, pues agrega más seguridad y evita ataques de fuerza bruta.

Comenzamos preparando nuestro dispositivo creando el folder .ssh y el archivo authorized_keys; además de darles permiso.

Esto lo puedes hacer desde tu dispositivo o usando un cliente SSH (es decir, vamos a configurar las claves, pero por el momento, antes de configurarlas, podemos usar todavía la autenticación no segura)

Los comandos son:

El siguiente paso es generar un par de claves usando Putty como se ve en este tutorial detallado.

Si seguiste bien el tutorial de generación de claves públicas y privadas, tu conexión de Putty debe verse así (fíjate en la parte superior, dice Authenticating with public key):

Usar Putty y clave pública para una nueva sesión SSH en Android

Desactivar autenticación con contraseña

Ahora que ya tienes autenticación por clave pública y privada, desactiva (lo recomiendo altamente, por la seguridad) la autenticación por contraseña.

Navega hasta $PREFIX/etc/ssh/ y modifica el archivo sshd_config usando si quieres nano sshd_config; en donde dice PasswordAuthentication escribe no.

Guarda los cambios (CTRL + O, luego ENTER si usas nano) y reinicia el servidor SSH; esto hazlo desde la app de Termux pues si lo haces por SSH la conexión se romperá (obviamente)

Detén el servidor con pkil sshd y después vuelve a iniciarlo con sshd.

Así es como termina este tutorial; recuerda que tengo más material interesante sobre Termux, Linux y Android en mi blog.

Finalmente, dejo una referencia a la wiki de Termux.

3 - Elegir root

Resetar contraseña de Ubuntu

Hoy, al intentar iniciar una máquina virtual con Linux Ubuntu que usé hace tiempo para unos ejercicios de la escuela me di cuenta de que había olvidado la contraseña.

No me costaba nada reinstalar el sistema, pues solo lo usaba para fines didácticos, pero la pereza pudo conmigo y preferí resetear la contraseña del usuario, además de documentar el proceso.

Recomendado: mira la administración de usuarios en Ubuntu para que entiendas cómo obtenemos la lista de usuarios y reseteamos la contraseña.

Continue reading…

Instalar composer en Linux Ubuntu

En este post voy a explicar cómo instalar Composer, el gestor de dependencias de PHP, en Linux Ubuntu.

Composer sirve principalmente para instalar las dependencias de un proyecto de PHP, por ejemplo, Laravel. Solo se deben definir las dependencias en un archivo, y el instalador se encargará de descargarlas y ponerlas en un autoload que simplemente debemos incluir.

Nota: ya existe un tutorial para Windows.

Continue reading…

Respaldar instalación de WordPress periódicamente en Google Drive

WordPress es un popular CMS que usan muchísimos sitios en internet, ya sea para sitios de noticias, blogs, tiendas, etcétera.

Este CMS se compone de archivos para funcionar, además de los archivos que el usuario sube, plugins, temas y finalmente una base de datos en donde están los artículos, páginas y configuraciones del sitio.

En este post voy a mostrarte cómo respaldar toda la instalación de WordPress junto con su base de datos en un archivo que será subido a Google Drive.

Como extra, te mostraré cómo hacer que estos respaldos sean automáticos usando cron.

Continue reading…

Respaldar carpeta de Linux en Google Drive, periódicamente

En este post voy a hacer una guía y mostrar un script para respaldar todo el contenido de una carpeta de Linux y subir la misma a nuestra cuenta de Google Drive.

También voy a mostrar cómo podemos hacer estos respaldos automáticos y periódicos usando cron para ejecutar el archivo cada cierto tiempo y realizar la subida del archivo a Google Drive.

No sé si va contra las políticas de Google (cosa que no creo, ya que estás usando el almacenamiento para cosas personales) así que hazlo bajo tu propio riesgo.

Continue reading…

Extraer archivo .tar.gz en Linux

El programa / utilidad de Linux llamado tar crea archivos con extensión .tar.gz comprimidos, los cuales se pueden utilizar para múltiples cosas como respaldos.

El ejecutable tar también sirve para descomprimir o extraer un archivo .tar.gz en Linux con simples pasos.

Hoy vamos a ver cómo extraer un archivo tar gz en Linux.

Continue reading…

Administrar cuenta de Google Drive desde Linux con gdrive y comandos

En este tutorial voy a mostrarte cómo acceder y administrar tus archivos de Google Drive desde la línea de comandos de Linux con una herramienta llamada gdrive.

Al final del tutorial seremos capaces de descargar y subir archivos, listarlos y en general administrar toda nuestra cuenta de Google Drive.

Gracias a esto podríamos hacer algunos respaldos automáticos a Google Drive desde Linux; pero eso lo dejaré para otro tutorial.

Continue reading…

Instalar Node.js y NPM en Ubuntu

Los paquetes de Node para Ubuntu están un poco desactualizados, además de que el binario se llama nodejs en lugar de node. Hoy vamos a ver cómo descargar e instalar Node 12 y NPM para Ubuntu, pero desde los paquetes de Node, para obtener la última versión.

Al final de la instalación tendremos la última versión de Node: la versión 12.5; y la última de NPM: 6.9

Si tú visitas este post en el futuro, mira las instrucciones en el repositorio oficial; solo es cosa de cambiar el script llamado setup_[versión_aquí].x.

Continue reading…

WordPress: Permisos de archivos y carpetas en Linux

En este post voy a mostrar cuáles son los permisos necesarios para que WordPress pueda funcionar sin problemas en nuestro servidor web de Linux con Apache.

Como sabemos, Linux tiene el control de permisos de archivos y carpetas para que no todos puedan leer, escribir o ejecutar. Además, todos los archivos y directorios tienen un dueño.

En ocasiones hay problemas ya que WordPress requiere ciertos permisos para funcionar correctamente; o no tanto los permisos, sino los dueños de los archivos y carpetas.

Continue reading…

4 - Visitar página web generada con ASP en Android

Programar en ASP desde Android con Termux

En otro post vimos cómo instalar PHP y Apache en Android; ahora veremos cómo programar en ASP desde Android.

Para tener disponible ASP en Android vamos a instalar el paquete llamado mono-xsp4; pero antes de ello necesitamos instalar Mono project y el compilador de C#.

4 - Visitar página web generada con ASP en Android

Componente de ASP en Android

Al final podremos iniciar un servidor ASP en Android y visitar el navegador para renderizar páginas con ASP; todo desde nuestro teléfono o tableta.

Continue reading…