cClaude.rocks ☕ Le blog

[Nouvelles technologies du libre, sciences et coups de gueule…]

Menu
😤 Ce billet a été édité le : 2024-06-20

SimpleSSHD est un serveur SSH prenant en charge scp, sftp et rsync libre (open source) et gratuit.



Présentation

SimpleSSHD est un serveur SSH2 basé sur dropbear. L’authentification est prévue pour être utilisé avec une clé publique. Le mode utilisateur + mot de passe en mode interactive n’est prévu que pour l’initialisation de l’application.

SimpleSSHD ne nécessite pas un accès root sur le téléphone, ce qui implique que le port d’écoute doit être supérieur à 1024. SimpleSSHD n’utilise donc pas le port standard pour ssh (22), mais par défaut il écoute sur le port 2222.



Installation et configuration.

On suppose que vous disposer préalablement d’une paire de clé SSH sur votre ordinateur : 🔑 Comment créer une paire de clés pour ssh

A l'opposée de ce qui est écrit dans 🔑 Créer une clé SSH pour votre téléphone, où depuis un téléphone on veut se connecter à un serveur SSH — ici on parle de mettre un serveur ssh sur le téléphone.

SimpleSSHD
SimpleSSHD
  • Installez SimpleSSHD par exemple depuis f-droid.
SimpleSSHD
SimpleSSHD
  • Lancez SimpleSSHD, puis démarrez-le manuellement. Eventuellement depuis les paramètres, activez « Démarrer au démarrage ». Les adresses *IP d’écoutes s’affichent dans les logs.

  • Le nom d’utilisateur est user, le mot de passe s’affichera sur cet écran durant le processus de connexion.

  • Pour autoriser votre clé vous ne pouvez pas utiliser ssh-copy-id, il faut créer un fichier authorized_keys dans le dossier /data/user/0/org.galexander.sshd/files/authorized_keys. Une solution simple consiste à utiliser rsync :
function init_authorized_keys {
  local -r pubkeyfile="$1"
  local -r ip="$2"
  local -r port="${3:-2222}"

  (
    set -x
    rsync -e "ssh -p ${port}" "${pubkeyfile}" "user@${ip}:authorized_keys"
  ) || return $?
}

L’appel se fait ensuite comme suit (si vous utiliser un port différent de 2222, il faut le préciser) :

init_authorized_keys ~/.ssh/id_rsa.pub IP [PORT] # pour une clé RSA utilisant le nom par défaut.
init_authorized_keys ~/.ssh/id_ed25519.pub IP [PORT] # pour une clé ed25519 utilisant le nom par défaut.

Vous devrez confirmer l’identité du téléphone en tapant la chaîne yes. Le mot de passe à utiliser s’affichera alors sur le téléphone.

Attention

Le chemin utilisé pour la copie de la clé est relatif au dossier HOME de user, pour la clé c’est le bon endroit, mais ce n’est pas ici que vous souhaitez vos données. Ce dossier n’était pas visible depuis l’interface Android (en tous les cas sur un environnement standard).

SimpleSSHD
  • Sur l’ordinateur, il suffit alors d’entrer le mot de passe affiché sur le téléphone. Attention – le mot de passe change à chaque connection. Il ne s’affiche pas lorsqu’un une clé valide lors de la connexion.
  • Éventuellement : Sur l’appareil Android où s’exécute SimpleSSHD lancer la commande :
restorecon -F authorised_keys

C’est important pour LineageOS qui en a besoin pour le contexte SELinux.

  • Créez éventuellement un fichier .profile dans ce même dossier (dépend de vos besoins).
  • Visitez https://dontkillmyapp.com/ pour corriger les hacks spécifiques au fournisseur (OnePlus, etc.) qui empêche le fonctionnement correct des applications en arrière-plan comme SimpleSSHD. Ce site Web vous aidera si SimpleSSHD ne s’exécute pas correctement en arrière-plan, ou ne se lance pas après le démarrage…


Liens

Merci a AC pour ces remarques.

ᦿ


ℹ 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog