Sous Linux, côté client, on installerait le package sshpass.

Mais la commande sshpass n'étant nativement pas présente sous git bash, on va rajouter le binaire sshpass à notre environnement :

Une fois Git Bash for Windows installé, télécharger la dernière version de SSHpass (sshpass-1.06-1-x86_64.pkg.tar.xz) pour Windows depuis le site de MSYS2, plus précisément depuis leur dépôt : http://repo.msys2.org/msys/x86_64/

Décompresser l'archive .tar.xz téléchargée avec 7-Zip, et copier le fichier sshpass.exe présent dans le répertoire usr\bin\ de l’archive vers le répertoire C:\Program Files\Git\mingw64\bin

La commande est maintenant disponible dans Git Bash :

ryzen@RYZEN MINGW64 ~
$ sshpass
Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
   -f filename   Take password to use from file
   -d number     Use number as file descriptor for getting password
   -p password   Provide password as argument (security unwise)
   -e            Password is passed as env-var "SSHPASS"
   With no parameters - password will be taken from stdin

   -P prompt     Which string should sshpass search for to detect a password prompt
   -v            Be verbose about what you're doing
   -h            Show help (this screen)
   -V            Print version information
At most one of -f, -d, -p or -e should be used

Ensuite, comme l'indique How to Execute Linux Commands on Remote System over SSH - Limitation of public-private key authentication

Méthode 1 : Mot de passe en tant qu'argument

Nous pouvons fournir un mot de passe comme argument en utilisant l'option –p :

$ sshpass -p 'mon-mot-de-passe' ssh -p 22 monuser@150.80.40.10

Méthode 2 : Mot de passe depuis un fichier

sshpass peut lire le mot de passe depuis un fichier normal en utilisant l'option -f :

$ echo "mon-mot-de-passe" > fichier-password.txt
$ sshpass -f fichier-password.txt ssh -p 22 monuser@150.80.40.10

Méthode 3 : Mot de passe depuis une variable d’environnement

Nous pouvons fournir un mot de passe à partir d'une variable d'environnement en utilisant l'option -e :

$ export SSHPASS="mon-mot-de-passe"
$ sshpass -e ssh -p 22 monuser@150.80.40.10