0 votos

SimpleSSHD ¿Falta el SCP?

Conseguí con éxito SimpleSSHD corriendo en mi OnePlus 7T y puedo SSH en el teléfono bien y también puedo conectar usando WinSCP. Sin embargo, cada vez que intento transferir un archivo, obtengo un error 127, que aparentemente significa que el comando scp no fue encontrado. Puedo confirmar desde el CLI que cree que scp no existe. ¿Pero eso no viene con SimpleSSHD? ¿Me estoy perdiendo algo con la instalación? Debo añadir que estoy transfiriendo archivos a /sdcard/*.

1voto

Mil Puntos 11

Después de hablar con el autor de la aplicación, parece que es un problema que puede no resolverse, pero confirmó que tuvo que hacer algunas cosas raras para conseguir que scp funcionara y las actualizaciones de Android probablemente lo han roto. Así que terminé usando Termux en su lugar y escribí algo de documentación al respecto, por si alguien se encuentra con esto más adelante.

Configuración del servidor SSH de Termux Android

Configuración de SSH

  1. Descargar e instalar Termux por teléfono

  2. Habilitar los permisos de almacenamiento de archivos para la aplicación (tuve que hacerlo manualmente)

  3. Inicie la aplicación y ejecute los siguientes pasos en la aplicación

  4. Instalar dropbear y openssh

    pkg upgrade
    pkg install openssh
    # When OpenSSH asks about overwriting your local config file, answer N to keep the local file
  5. Ejecute el comando passwd para generar una contraseña de acceso

  6. Inicie el servidor SSH

    sshd
    • NOTA Para detener el servidor SSH, ejecute lo siguiente pkill sshd

Ref: https://www.crisisshelter.org/install-ssh-in-termux-openssh/

Configuración de la autenticación basada en claves (Windows)

Generar claves

  1. Descargar https://www.puttygen.com/

  2. Ejecutar puttygen

  3. Selecciona:

    1. RSA
    2. Bits: (2048 o 4096 para una mejor codificación)
  4. Haga clic en Generar

  5. Mueve el ratón en el espacio en blanco del programa

  6. Copie la clave pública para pegarla en el archivo authorized_keys de OpenSSH y guárdela en un archivo llamado authorized_keys

    • NOTA: El resultado debería ser el siguiente

      ssh-rsa 1231AD_REALLY_LONG_KEY_HERE_FG123= rsa-key-20220806

  7. Guarde la clave privada como id_rsa.ppk

Enviar la clave pública al teléfono

  1. Conéctate a la IP del teléfono usando WinSCP en el puerto 8022
  2. Introduzca un nombre de usuario en blanco y, a continuación, la contraseña establecida anteriormente
  3. Cambiar manualmente a $HOME/.ssh/authorized_keys (Nota, la ubicación del directorio de inicio puede ser diferente, así que utilice lo que muestra su ruta)
  4. Transferir el authorized_keys creado anteriormente a esta carpeta

Tecla de configuración en Kitty/Putty

  1. Configure la conexión SSH como de costumbre, asegurándose de utilizar el puerto 8022 y la IP del teléfono
  2. Ir a Connection->SSH->Auth y seleccione el id_rsa.ppk archivo guardado de puttygen
  3. Asegúrese de volver a Session para nombrar y guardar la conexión
  4. Haga clic en Open para conectar
  5. Hit enter para omitir el nombre de usuario y utilizará el certificado para autenticar

Clave de configuración en WinSCP

  1. Configurar un New Site mediante la opción situada en la parte superior de la lista de conexiones
  2. Seleccione SCP como el protocolo de archivos
  3. Introduzca la IP y el puerto del teléfono 8022
  4. Haga clic en Advanced y navegar hasta SSH->Authentication
  5. Seleccione el id_rsa.ppk generado desde puttygen y haga clic en OK
  6. Haga clic en Save y nombrar la conexión
  7. Haga clic en Login
  8. Haga clic en OK para evitar la solicitud de nombre de usuario y utilizará el certificado para autenticar

Desactivar la autentificación por contraseña

  1. Después de asegurarse de que puede iniciar sesión con el certificado, vuelva a iniciar sesión en el teléfono mediante SSH

  2. Editar el archivo de configuración de sshd

    nano $PREFIX/etc/ssh/sshd_config
  3. Modifique la siguiente línea para esta configuración:

    PasswordAuthentication no
  4. Guarde los cambios y salga con CTRL+X

  5. Por si acaso, establece una contraseña aleatoria

    passwd
    # Enter some RANDOM_STRING
  6. Ahora puede salir de la sesión de shell

Registros de Termux

El demonio SSH se registra en el registro del sistema Android, puede verlo ejecutando logcat -s 'sshd:*' . Puedes hacerlo desde Termux o ADB.

Ref: https://wiki.termux.com/wiki/Remote_Access

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