GNU/Linux >> Tutoriels Linux >  >> Linux

Comment passer le mot de passe à su/sudo/ssh sans remplacer le TTY ?

Pour sudo, il existe une option -S pour accepter le mot de passe à partir de l'entrée standard. Voici l'entrée de l'homme :

    -S          The -S (stdin) option causes sudo to read the password from
                the standard input instead of the terminal device.

Cela vous permettra d'exécuter une commande comme :

echo myPassword | sudo -S ls /tmp

Quant à ssh, j'ai fait de nombreuses tentatives pour automatiser/scripter son utilisation sans succès. Il ne semble pas y avoir de moyen intégré de transmettre le mot de passe dans la commande sans y être invité. Comme d'autres l'ont mentionné, l'utilitaire "attendre" semble viser à résoudre ce dilemme, mais en fin de compte, la configuration de l'autorisation de clé privée correcte est la bonne façon de procéder lorsque vous tentez d'automatiser cela.


J'ai écrit un Applescript qui demande un mot de passe via une boîte de dialogue, puis crée une commande bash personnalisée, comme ceci :

echo <password> | sudo -S <command>

Je ne sais pas si cela aide.

Ce serait bien si sudo acceptait un mot de passe pré-crypté, afin que je puisse le crypter dans mon script et ne pas m'inquiéter de l'écho des mots de passe en texte clair. Cependant, cela fonctionne pour moi et ma situation.


Pour sudo, vous pouvez également le faire :

sudo -S <<< "password" command

Pour ssh vous pouvez utiliser sshpass :sshpass -p yourpassphrase ssh [email protected] .

Il vous suffit de télécharger d'abord sshpass :)

$ apt-get install sshpass
$ sshpass -p 'password' ssh [email protected]

Linux
  1. Comment configurer Rsync avec SSH sur UNIX / Linux (rsync sans mot de passe)

  2. Ansible :sudo sans mot de passe

  3. Comment faire pour que sudo demande le mot de passe root ?

  4. Comment configurer Rsync sans mot de passe avec SSH sous UNIX / Linux ?

  5. Comment exécuter à distance la commande ssh une commande sudo sans mot de passe

Comment changer l'invite Sudo sous Linux

Comment exécuter des commandes particulières sans mot de passe Sudo sous Linux

Comment transmettre un mot de passe à la commande SSH sous Linux

Comment exécuter des commandes Sudo sans mot de passe

Comment changer le délai d'expiration du mot de passe Sudo dans Ubuntu

Comment exécuter les commandes sudo sans mot de passe