J'ai réussi à faire fonctionner SimpleSSHD sur mon OnePlus 7T et je peux SSH dans le téléphone bien et je peux également me connecter en utilisant WinSCP. Cependant, chaque fois que j'essaie de transférer un fichier, j'obtiens une erreur 127, ce qui signifie apparemment que la commande scp n'a pas été trouvée. Je peux confirmer à partir du CLI qu'il pense que scp n'existe pas. Mais cela n'est pas fourni avec SimpleSSHD ? Est-ce que j'ai manqué quelque chose lors de l'installation ? Je dois ajouter que je transfère des fichiers vers /sdcard/*.
Réponse
Trop de publicités?Après avoir parlé avec l'auteur de l'application, il semble qu'il s'agisse d'un problème qui ne sera peut-être pas résolu, mais il a confirmé qu'il avait dû faire des trucs bizarres pour que scp fonctionne et que les mises à jour d'Android l'ont probablement cassé. J'ai donc fini par utiliser Termux à la place et j'ai écrit une documentation à ce sujet, au cas où quelqu'un rencontrerait ce problème plus tard.
Configuration du serveur SSH Termux Android
Configuration de SSH
-
Télécharger et installer Termux au téléphone
-
Activez les autorisations de stockage de fichiers pour l'application (j'ai dû le faire manuellement).
-
Lancez l'application et exécutez les étapes suivantes dans l'application.
-
Installer dropbear et openssh
pkg upgrade pkg install openssh # When OpenSSH asks about overwriting your local config file, answer N to keep the local file
-
Exécutez la commande
passwd
pour générer un mot de passe de connexion -
Démarrer le serveur SSH
sshd
- REMARQUE Pour arrêter le serveur SSH, exécutez cette opération
pkill sshd
- REMARQUE Pour arrêter le serveur SSH, exécutez cette opération
Réf : https://www.crisisshelter.org/install-ssh-in-termux-openssh/
Configuration de l'authentification par clé (Windows)
Générer des clés
-
Télécharger https://www.puttygen.com/
-
Exécuter puttygen
-
Sélectionnez :
- RSA
- Bits : (2048 ou 4096 pour un meilleur cryptage)
-
Cliquez sur Générer
-
Déplacez la souris dans l'espace vide du programme.
-
Copiez la clé publique à coller dans le fichier authorized_keys d'OpenSSH et enregistrez-la dans un fichier nommé
authorized_keys
-
NOTE : La sortie devrait ressembler à ceci
ssh-rsa 1231AD_REALLY_LONG_KEY_HERE_FG123= rsa-key-20220806
-
-
Enregistrez la clé privée en tant que
id_rsa.ppk
Envoyer la clé publique au téléphone
- Connectez-vous à l'IP du téléphone en utilisant WinSCP sur le port
8022
- Entrez un nom d'utilisateur vide, puis le mot de passe défini ci-dessus.
- Passer manuellement à
$HOME/.ssh/authorized_keys
(Note, l'emplacement du répertoire personnel peut être différent, utilisez donc ce que votre chemin indique) - Transférer le
authorized_keys
créé ci-dessus dans ce dossier
Clé de paramétrage dans Kitty/Putty
- Configurez la connexion SSH comme d'habitude, en vous assurant d'utiliser le port
8022
et l'IP du téléphone - Aller à
Connection->SSH->Auth
et sélectionnez leid_rsa.ppk
fichier enregistré à partir de puttygen - Assurez-vous de retourner à
Session
pour nommer et sauvegarder la connexion - Cliquez sur
Open
pour connecter - Hit
enter
pour ignorer le nom d'utilisateur et il utilisera le certificat pour s'authentifier.
Clé de configuration dans WinSCP
- Configurer un
New Site
en utilisant l'option en haut de la liste des connexions - Sélectionnez
SCP
comme protocole de fichier - Entrez l'IP et le port du téléphone
8022
- Cliquez sur
Advanced
et naviguer versSSH->Authentication
- Sélectionnez le
id_rsa.ppk
généré par puttygen et cliquez surOK
- Cliquez sur
Save
et nommez la connexion - Cliquez sur
Login
- Cliquez sur
OK
pour contourner l'invite du nom d'utilisateur et il utilisera le certificat pour s'authentifier.
Désactiver l'authentification par mot de passe
-
Après vous être assuré que vous pouvez vous connecter à l'aide du certificat, connectez-vous à nouveau au téléphone en utilisant SSH.
-
Modifier le fichier de configuration de sshd
nano $PREFIX/etc/ssh/sshd_config
-
Modifiez la ligne suivante pour ce paramètre :
PasswordAuthentication no
-
Enregistrez les changements et quittez avec
CTRL+X
-
Pour faire bonne mesure, définissez un mot de passe aléatoire.
passwd # Enter some RANDOM_STRING
-
Vous pouvez maintenant quitter la session shell
Journaux de bord de Termux
Le démon SSH enregistre dans le journal du système Android, vous pouvez le consulter en exécutant logcat -s 'sshd:*'
. Vous pouvez le faire soit à partir de Termux ou ADB.