5 votos

Enviar archivos desde Linux a Android a través de ssh

Quiero enviar algunos archivos específicos desde mi PC con Linux a mi dispositivo Android. Me gustaría enviarlos automáticamente usando comandos de terminal, por lo que no habrá necesidad de arrastrar y soltar archivos.

No sé cuál es la mejor forma de comunicación para enviar archivos a través de wifi. Entiendo cómo enviar mediante ftp descargando la aplicación 'ftp server' en mi dispositivo Android, pero no es adecuado para mi trabajo ya que necesita abrir un navegador de Internet en mi PC y transferir como un administrador de archivos. Así que intenté usar ssh:

scp /home/user/picture1.jpg u0_a167@192.168.1.117:/storage/emulated/0

pero siempre terminé con un error:

ssh: connect to host 192.168.1.117 port 22: Connection refused
lost connection

¿Cómo resolver este problema? ¿O alguien tiene alguna otra recomendación sobre qué forma de comunicación debería usar?

0 votos

2voto

Izzy Puntos 45544

Tienes diferentes opciones aquí:

  • SCP: Como Dan ya señaló, Android no viene con ningún servidor SSH por defecto. Esto significa que, para usar SCP como se describe en tu pregunta, primero tendrás que instalar una Aplicación de Servidor SSH en tu dispositivo.
  • FTP: A diferencia de lo que asumes en tu pregunta, FTP puede ser programado. Pero puede que no sea tan fácil como un simple comando scp. Y al igual que con SSH, primero necesitarás instalar una Aplicación de Servidor FTP en tu dispositivo también.
    Nota importante: Muchos clientes/conexiones de FTP por defecto están en modo de transferencia ASCII. Si deseas copiar archivos binarios (básicamente: no de texto) como imágenes, audio/video, etc., asegúrate de estar en modo binario (cuando uses la línea de comandos, eso se puede hacer emitiendo el comando bin). De lo contrario, podrías obtener "archivos rotos" en el extremo receptor.
  • ADB: Esta es una opción que incluso Android incluye, pero por defecto está vinculada a una conexión USB. Simplemente necesitarías habilitar Depuración USB en ajustes de desarrollador, conectar tu dispositivo a través de USB, y luego podrás usar comandos como adb push o adb pull para colocar archivos en tu dispositivo o recuperarlos desde allí. Si prefieres hacer esto a través de WiFi, también hay varias aplicaciones que ofrecen esto.

Puede haber posibilidades adicionales, pero las tres mencionadas anteriormente son las más utilizadas.

0 votos

Gracias por tu respuesta. Logré conectar mi teléfono Android en una conexión FTP. Cuando ejecuté el comando: put /home/user/picture.jpg el resultado es 551 /home/user/picture.jpg: error en el archivo de salida

0 votos

Lo siento, pero no puedo ayudarte con eso. Quizás puedas hacer una nueva pregunta e incluir detalles sobre qué servidor de FTP estás utilizando y la secuencia exacta de comandos. Solo puedo suponer que es posible que no tengas permiso de escritura en la carpeta de destino o que no haya suficiente espacio disponible (pero eso debería dar diferentes códigos de error). La lista de códigos de retorno del servidor FTP indica que para 551: Tipo de página desconocido. No tengo idea de qué se supone que es eso.

0 votos

Actualizar: No sabía qué había cambiado, ¡pero cuando lo intenté de nuevo, el comando ftp finalmente funcionó! El archivo de imagen se envió con éxito pero la imagen está rota. No sé por qué. Gracias por la ayuda @Izzy. De todas formas, todavía me pregunto por qué la comunicación por ssh no funciona.

0voto

Andy Brudtkuhl Puntos 1714

Puedes usar scp si quieres, pero primero debes instalar un servidor SSH en el teléfono. Android no viene con uno habilitado por defecto: sería una pesadilla de seguridad. Hay muchos para elegir en Google Play.

0 votos

Gracias por tu respuesta. Descargué 'servidor ssh' en mi android. Comencé añadiendo el servidor, configurando el nombre y puerto del servidor. También activé la opción de habilitar scp y finalmente inicié el servidor. Ejecuté el comando: scp /home/user/picture1.jpg android@192.168.1.105:48503:/storage/sdcard0/Descargas pero la conexión sigue siendo rechazada. ¿Cometí un error en mi comando?

0 votos

Mi primera sugerencia sería hacer un ping al teléfono, para comprobar que la dirección IP sea correcta y el router Wi-Fi no esté bloqueando la conexión.

0 votos

PING 192.168.1.105 (192.168.1.105) 56(84) bytes of data. --- 192.168.1.105 estadísticas de ping --- 10 paquetes transmitidos, 9 recibidos, 10% de pérdida de paquetes, tiempo 9011ms. El teléfono está conectado.

0voto

TheYorickable Puntos 51

Si estás en la misma red wi-fi que tu teléfono móvil y tienes la opción de usar ADB, te recomendaría usar adb inalámbrico. Configura adb inalámbrico en tu teléfono y adb en tu PC. Luego simplemente ejecuta

adb connect

Y cuando el dispositivo esté conectado, puedes usar

adb push /ruta/archivo/local /ruta/ubicación/remota/

0 votos

Gracias por tu respuesta. Actualmente estoy descargando androidSDK, por lo que puede tardar bastante tiempo antes de que pueda probarlo usando adb.

0voto

Varun Thomas Puntos 1

Si estás usando Wifi,

A través de ESFileExplorer, puedes crear un servidor FTP para tu sistema de archivos de Mac o Unix y copiar archivos al vuelo.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X