Ssh exécute une commande avec sudo sur un pc distant
Résolu/Fermémamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 6 févr. 2023 à 13:27
- Ssh exécute une commande avec sudo sur un pc distant
- Invite de commande - Guide
- Test performance pc - Guide
- Réinitialiser un pc - Guide
- Pc lent - Guide
- Télécharger musique gratuitement sur pc - Télécharger - Conversion & Extraction
3 réponses
Modifié le 3 févr. 2023 à 17:20
Bonjour,
Oui c'est possible. Par exemple pour exécuter ls /root sur la machine distante :
ssh laurent@192.168.3.13 sudo -S ls /root
Note qu'il faudra saisir le mot de passe pour se connecter en laurent via ssh (à moins que tu n'aies installé sur laurent@192.168.3.13 une clé ssh) puis son mot de passe sur cette machine (en admettant que laurent soit sudoer sur cette machine).
Par rapport aux trois commandes que tu proposes, je te déconseille vivement de passer le mot de passe en paramètre. Celui-ci sera leaké dans ton historique shell (en bash, voir la commande history) et visible dans la table des processus (voir la commande ps faux), et donc constitue une grosse faille de sécurité.
La manière propre de se connecter de manière transparent est d'utiliser une clé ssh. Une fois la clé générée (voir ssh-keygen) et déployée sur la machine distance (voir ssh-copy-id), tu peux activer ta clé ssh avec la commande ssh-add.
Bonne chance
Modifié le 6 févr. 2023 à 13:18
Bonjour,
Je ne comprends pas, il me demande le mot de passe sudo
laurent@VALERIE-AMD-R7-2700X:~$ ssh laurent@192.168.3.13 sudo -S ls /root laurent@192.168.3.13's password: [sudo] Mot de passe de laurent :
également avec sshpass :
laurent@VALERIE-AMD-R7-2700X:~$ sshpass -p 'mdp' ssh -t laurent@192.168.3.13 -p 22 sudo -S ls /root [sudo] Mot de passe de laurent :
Oui j'ai forcement une clé ssh puisqu'il la crée à la toute première connexion.
Merci.
6 févr. 2023 à 13:27
Bonjour,
Oui j'ai forcement une clé ssh puisqu'il la crée à la toute première connexion.
Non lors de la première connexion, ce qu'il te demande c'est de valider l'identité du serveur (fingerprint). Ça n'a rien à voir avec une clé ssh. Je t'invite à consulter les liens que je t'ai donnés dans mon précédent message pour plus de détail, ça réglera le mot de passe lié à ssh.
également avec sshpass :
Note que dans ma réponse je parle de ssh, pas de sshpass. Je ne pense pas que ça change grand chose, mais personnellement je n'en ai jamais eu l'utilité.
il me demande le mot de passe sudo
C'est normal et inévitable à moins de fournir le mot de passe de sudo dans la ligne de commande, ce que je déconseille par rapport aux règles de sécurité que j'ai énoncé plus haut. Autre solution (que je déconseille vivement) tu peux te connecter en ssh en root sous réserve d'autoriser au niveau de ssh les connexions en root.
Bonne chance