Comment activer les commandes sudo sur SSH sans demander de mot de passe?


13

J'ai le serveur A et le serveur B (tous deux Ubuntu 10.04 LTS) effectuant des tâches différentes. Le serveur A doit pousser le serveur B, qui génère un fichier et le scp retourne au serveur A une fois terminé. Tout cela est en interne et je ne suis pas trop préoccupé par les problèmes de sécurité. L'échange de clés SSH est déjà effectué entre les serveurs A et B et fonctionne correctement.

Sur le serveur B, le script generateOfflineSigressemble à

#!/bin/bash
echo "in script"
sudo apt-offline set offline_package.sig --install-packages "$0"
echo "after sudo"
scp offline_package.sig jeff@servera:/tmp

Également sur le serveur B, visudo a cette entrée:

jeff ALL=NOPASSWD: ALL

Qui fonctionne si j'exécute sudo lssur le serveur B ... aucun mot de passe demandé.

Malheureusement, SSH demande toujours un mot de passe sur le serveur A:

jeff@servera:~$ ssh -t jeff@serverb /home/jeff/generateOfflineSig "incron"
in script
[sudo] password for jeff:

Des idées? Ce processus ne peut pas être interrompu par la saisie d'un mot de passe.


Pas sûr à 100% de la /etc/sudoerssyntaxe, mais mon fichier a la ligne # %wheel ALL=(ALL) NOPASSWD: ALL. Peut-être que votre ligne devrait l'être jeff ALL=(ALL) NOPASSWD: ALL?
snapshoe

La commande à distance entière ne doit-elle pas être entre guillemets? Vous exécutez peut-être le script sur Sever A
TheLQ

En fait ... Je pense que snapshoe est sur quelque chose. Je répondrai à ma propre question un peu plus tard ...
Jeff

Réponses:


16

Il semble que j'avais une "faute de frappe" dans le /etc/sudoersfichier ...

jeff ALL=NOPASSWD: ALL

devait être à la toute fin du fichier. L'aide d'Ubuntu indique uniquement Ajouter (...) à la FIN du fichier (sinon à la fin, il peut être annulé par des entrées ultérieures)

Après cela, le mot de passe n'est jamais demandé pour les "commandes sudo de jeff, localement ou via SSH.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.