186 votes

manière correcte de sudo sur ssh

J'ai un script qui exécute un autre script via SSH sur un serveur distant en utilisant sudo. Cependant, lorsque je tape le mot de passe, il s'affiche sur le terminal. (Sinon, il fonctionne bien)

ssh user@server "sudo script"

Quelle est la bonne façon de procéder pour que je puisse taper le mot de passe pour sudo en SSH sans que le mot de passe apparaisse au fur et à mesure de la saisie ?

0voto

echo $VAR_REMOTEROOTPASS | ssh -tt -i $PATH_TO_KEY/id_mykey $VAR_REMOTEUSER@$varRemoteHost 
echo \"$varCommand\" | sudo bash

0voto

Confirmant que la réponse de @ofirule fonctionne comme un charme. J'essaie même avec sshpass & cela fonctionne. Voici comment l'utiliser avec sshpass :

echo $pass | sshpass -p $pass ssh -tt cloud_user@$ip "sudo su -"

vous vous retrouverez directement dans le shell Root

-1voto

eatcrayons Points 17

En fonction de votre utilisation, j'ai eu du succès avec ce qui suit :

ssh root@server "script"

Ceci demandera le mot de passe Root et exécutera ensuite la commande correctement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X