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.
-
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.
Sur l'ordinateur, depuis la ligne de commande:
- 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).
- 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
- Site officiel de SimpleSSHD
- SimpleSSHD sur f-droid
- Code source de SimpleSSHD
- How to access files transferred to device using SimpleSSHD?
- Pour aller plus loin :
Merci a AC pour ces remarques.
኿