[SOLUCIONADO] ¿Se pueden ejecutar comandos en la PC desde Android vía USB?

Iniciado por thug, Febrero 03, 2014, 05:28:33 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hola a todos. Hace unos días me preguntaba si es posible enviar comandos a mi laptop o abrir un terminal desde mi android vía usb. ¿Alguna idea de como hacerlo? Me serviría mucho para cuando cargo mi laptop encendida en la mochila y necesito ejecutar algunos comandos sin sacarla.


Puedes controlar tu android desde la PC con No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.
Para controlar la PC desde tu Android puedes hacerlo vía SSH para hacerlo primero:

Instalas el servicio:
Código: php
# apt-get install openssh-server


Recibes el siguiente mensaje (o parecido):
Código: php
ssh start/running, process 31402


Configuras el servidor editando el archivo /etc/ssh/sshd_config:
Código: php
# gedit /etc/ssh/sshd_config


Buscamos la clave PermitRootLogin y nos aseguramos que diga no
Código: php
PermitRootLogin no


Podemos agregar AllowUsers para autorizar determinados usuarios a conectarse al servidor.
Código: php
AllowUsers usuario1 usuario2 usuario3


SSH suele usar el puerto 22, pero podemos cambiarlo para mejorar la seguridad.
Código: php
Port 10200

Así que cambiamos el puerto por seguridad.

En la línea LoginGraceTime 30 el número está asociado con los segundos de tiempo que nos dará el servidor cuando nos conectemos hasta que logremos introducir usuario y contraseña de forma exitosa. Es decir que si tardamos más de 30 segundos, el servidor SSH cerrará la conexión. Así que si son lentos escribiendo pueden aumentar ese número. Tenganlo en cuenta porque en este ejemplo vamos a tipear con el celular.

Buscamos ahora la línea MaxAuthTries, si no está la agregamos (en cualquier parte). Esta línea indica la cantidad de intentos de login que va a permitir el servidor, pasada esa cantidad, cierra la conexión. Por ejemplo, si queremos darle hasta tres intentos.
Código: php
MaxAuthTries 3


Por último, la línea ListenAddress indica en qué dirección IP el servidor estará escuchando. Esto es útil si se tienen, por ejemplo, varias IP públicas, pero sólo se quiere permitir que el servidor SSH esté activo en alguna de ellas. Pero como no es el caso de este ejemplo, vamos a dejarlo en:
Código: php
ListenAdress 0.0.0.0


Con esos cambios, el servidor SSH queda un poco más seguro. Si quieren añadir más seguridad pueden permitir o prohibir hosts específicos editando los archivos /etc/hosts.allow y /etc/hosts.deny. Se suele prohibir todos los hosts en hosts.deny y luego habilitar algunos en hosts.allow. Pero, si hacen eso, recuerden que afectará no sólo a SSH sino a todas las conexiones de red. Para este ejemplo casero, no es necesario editar nada de eso.

Resta reiniciar el servidor SSH para que actualice los cambios.
Código: php
# service ssh restart
# /etc/init.d/ssh restart


Solo quedaría instalar el No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.
Nos conectamos con el comando:
Código: php
nombre_de_usuario@ip_del_host:puerto_ssh


Cuando nos conectamos vía SSH, por ser la primera vez veremos un mensaje donde el servidor nos pide confirmación para establecer unas claves que quedan en ambos equipos y se utilizan por seguridad. Confirmamos poniendo Yes.

Luego el servidor nos pedirá la contraseña del usuario. La ingresamos y ya tendremos acceso a la PC desde la línea de comandos. Ahora, es como si estuviéramos usando la consola, pero desde el dispositivo móvil.

Un saludo ;) / No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Kodeinfect, gracias por tu respuesta. Lo del uso de ssh ya lo utilizo pero sólo me sirve cuando ambos dispositivos están conectados a una red. ¿que pasa si ni me celular ni la computadora están conectados a internet? Por ejemplo cuando voy caminando por la calle o en la universidad que solo me permiten conectarme a la red por medio de mi laptop pero no de mi celular.

Saludos  :D