Changement de mot de passe a distance via SSH

Résolu/Fermé
bruno - 4 déc. 2015 à 15:21
 bruno - 7 déc. 2015 à 11:14
Bonjour,

je cherche a modifier un mot de passe a distance sur une machine linux depuis une machine linux.
J'ai lis en place un certificat pour passer en ssh, cela fonctionne quand je n'utilise pas de variable d'environnement exemple :

[root@srv-prd-exp ~]# ssh root@srv-dev-test 'echo -e "Temp15;\nTemp15;" | (passwd --stdin test509)'
Changing password for user test509.
passwd: all authentication tokens updated successfully.

avec cette commande le mot de passe est bien changé mais quand je le fais avec des variable il ne me prend pas en compte le user que je lui passe donc il prend root et le mot de passe non plus :

PASSWORD=Temp15;
USER=test509
[root@srv-prd-exp ~]# ssh root@srv-dev-test 'echo -e "$PASSWORD\n$PASSWORD" | (passwd --stdin $USER)'
passwd: Authentication information cannot be recovered
Changing password for user root.


Savez vous d'où pourrais bien venir mon souci ??
Merci d'avance
A voir également:

2 réponses

Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
Modifié par Flachy Joe le 4/12/2015 à 19:28
Salut,
les variables d'environnement ne sont pas passées à travers ssh,
Il me semble avoir lu quelque part que c'était le cas à un moment mais que ça a été modifié pour des raisons de sécurités.

Tu peux faire interpréter les variables par le bash AVANT de l'envoyer par ssh, pour ça il faut que la chaîne soit entre guillemets double, quelque chose comme ça :
ssh root@srv-dev-test "echo -e \"$PASSWORD\n$PASSWORD\" | (passwd --stdin $USER)" 


PS : c'est quoi ce shell en root !
[root@srv-prd-exp ~]#


;-) Flachy Joe ;-)
"Qui ne se plante jamais n'a aucune chance de pousser !" Graf anonyme
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
5 déc. 2015 à 12:08
Salut,

PASS=Temp15;UTIL=test509
echo "${UTIL}:${PASS}" | ssh root@SERVER chpasswd


0
Hello

merci ca marche impeccable :-)
0