Page 1 sur 1

Sftp avec mot de passe

Posté : ven. 13 nov. 2020, 17:11:24
par monthi
Bonjour

dans le cadre de la gestion comptable d'un site web, je doit récupérer par sftp des fichier csv.
on nous donc fournis pour cela un profil et un mot de passe

Quand j'utilise putty pas de problème le mot de passe m'est demandé.
Si je passe pas QSH ou QP2TERM je ne peut entrée le mot de passe :
sftp -P XXXX xxxxxxx.oney.com
Password Authentication
Enter password for xxxxxxx
Password Authentication
Enter password for xxxxxxx
Password Authentication
Enter password for xxxxxxx
Received disconnect from XX.XXX.XX.XXX port XXXX:11: Too many bad authentication attempts!
Disconnected from XX.XXX.XX.XXX port XXXX
Connection closed.
Connection closed

Autre question comment faire du sftp en fichier batch avec un mot de passe

Cdlt

Re: Sftp avec mot de passe

Posté : ven. 13 nov. 2020, 17:40:18
par nbonnet
Bonjour,

jamais fait avec mot de passe (toujours avec clés).
A priori 2 solutions :
- sshpass
- expect
De même, jamais testé sur IBM i ...

Re: Sftp avec mot de passe

Posté : ven. 13 nov. 2020, 18:05:25
par monthi
Bonjour Nathanael

Effectivement avec sshpass ca fonctionne je peut me connecter.

il semble que le module sshpass viens juste d'être dispo

maintenant si fait les commandes dans dans QP2TERM cela fonctionne

sshpass -f oneyp sftp -P XXXX xxxxxxx@file.oney.com
Password Authentication
Enter password for xxxxxxx
Connected to file.oney.com.
sftp>

mais je les mets dans un fichier ifs et que j'utilise l'ion -b de sftp

sshpass -f oneyp sftp -b oney -P XXXX xxxxxxx@file.oney.com
xxxxxxx@file.oney.com: Permission denied (publickey,password,keyboard-interactive).
Connection closed.
Connection closed

cdlt

Re: Sftp avec mot de passe

Posté : lun. 16 nov. 2020, 08:56:54
par cmasse
J'ai déjà fait avec expect, ca marche bien.

Il faut sasir un fichier comme ceci
#!/usr/local/bin/expect -f
set timeout 120
spawn sftp user@serveursftp
expect "password:" -> ce qui doit être affiché : respectez bien la casse
send "mypwd\n" <- la saise clavier que je simule, etc...
expect "sftp>"
send "put /temp/cours.csv\n"
expect "sftp>"
send "quit\n"
exit


puis CALL QP2SHELL PARM('/QopenSys/bin/pkgs/expect' '-df' +
'/tmp/monscript')

Re: Sftp avec mot de passe

Posté : lun. 16 nov. 2020, 15:04:55
par monthi
Bonjour

il faut rajouter l'option -oBatchMode=no a la commande sftp

donc cela devient
QSH CMD(' export PATH=/QOpenSys/pkgs/bin:$PATH;
sshpass -f /Cegid/IN/Oney/conf/oneyp sftp -oBatchMode=no -b /Cegid/IN/Oney/conf/oney -P 5022 xxxxxxxx@file.oney.com')

cdlt