Get your binaries from here.
On your source host, generate a ssh key pair (private and public) : ssh-keygen
Copy your public key on your target host
Add your public key to authorized keys on your target host : cat id_rsa.pub >> .ssh/authorized_keys
SFTP from your source to target host using your private key : sftp –ip=192.168.1.126 –username=jeedom –privatekey=%homepath%\.ssh\id_rsa –local_filename=readme.md –command=put –debug=true
SSH from your source to target host using your private key : ssh –ip=192.168.1.126 –username=jeedom –privatekey=%homepath%\.ssh\id_rsa –debug=true
Note1 : libssh2 will accept private keys in both format (RSA PRIVATE KEY or OPENSSH PRIVATE KEY)
Note2 : on linux, you can convert a public key generated by OpenSSL (in PEM format) to OpenSSH
ssh-keygen -i -m PKCS8 -f public.pem > public.pub
Note3 : libssh2 will accept public keys in OpenSSH format only (but will manage to derive the public key from the private key if you dont provide the public key)
Note4:
You can push your public key like below:
ssh –ip=192.168.1.126 –username=jeedom –password=Mjeedom96 –put –filename=id_rsa.pub
ssh –ip=192.168.1.126 –username=jeedom –password=Mjeedom96 –delay=250 –command= »cat id_rsa.pub >> .ssh/authorized_keys »
or
echo « cat id_rsa.pub >> .ssh/authorized_keys » | ssh –ip=192.168.1.126 –username=jeedom –password=Mjeedom96