Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: thug en Febrero 03, 2014, 05:28:33 AM

Título: [SOLUCIONADO] ¿Se pueden ejecutar comandos en la PC desde Android vía USB?
Publicado por: thug en Febrero 03, 2014, 05:28:33 AM
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.

Título: Re:¿Se pueden ejecutar comandos en la PC desde Android vía USB?
Publicado por: Kodeinfect en Febrero 03, 2014, 08:43:04 AM
Puedes controlar tu android desde la PC con AndroidScreenCast (http://code.google.com/p/androidscreencast/).
Para controlar la PC desde tu Android puedes hacerlo vía SSH para hacerlo primero:

Instalas el servicio:
# apt-get install openssh-server

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

Configuras el servidor editando el archivo /etc/ssh/sshd_config:
# gedit /etc/ssh/sshd_config

Buscamos la clave PermitRootLogin y nos aseguramos que diga no
PermitRootLogin no

Podemos agregar AllowUsers para autorizar determinados usuarios a conectarse al servidor.
AllowUsers usuario1 usuario2 usuario3

SSH suele usar el puerto 22, pero podemos cambiarlo para mejorar la seguridad.
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.
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:
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.
# service ssh restart
# /etc/init.d/ssh restart


Solo quedaría instalar el Cliente SSH en Android (https://play.google.com/store/apps/details?id=org.connectbot&hl=es_419).
Nos conectamos con el comando:
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 ;) / Source (http://www.elreplicante.com.ar/2012/02/08/controlar-gnulinux-desde-android-via-ssh/)
Título: Re:¿Se pueden ejecutar comandos en la PC desde Android vía USB?
Publicado por: thug en Febrero 03, 2014, 01:26:44 PM
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