Come abilitare i comandi sudo su SSH senza chiedere la password?


13

Ho un server A e un server B (entrambi Ubuntu 10.04 LTS) che svolgono compiti diversi. Il server A deve colpire il server B, che genera un file e lo restituisce al server A al termine. Questo è tutto interno e non sono troppo preoccupato per i problemi di sicurezza. Lo scambio di chiavi SSH è già eseguito tra i server A e B e funziona correttamente.

Sul server B, lo script generateOfflineSigappare come

#!/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

Anche sul server B, visudo ha questa voce:

jeff ALL=NOPASSWD: ALL

Che funziona se eseguo sudo lssul server B ... nessuna password richiesta.

Sfortunatamente SSH chiede sempre una password sul Server A:

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

Qualche idea? Questo processo non può essere interrotto dall'inserimento della password.


Non sono sicuro al 100% della /etc/sudoerssintassi, ma il mio file ha la linea # %wheel ALL=(ALL) NOPASSWD: ALL. Forse la tua linea dovrebbe essere jeff ALL=(ALL) NOPASSWD: ALL?
istantanea

L'intero comando remoto non deve essere tra virgolette? Potresti eseguire lo script su Sever A
TheLQ

In realtà ... Penso che lo scatto sia qualcosa. Risponderò alla mia domanda un po 'più tardi ...
Jeff,

Risposte:


16

Sembra che avessi un "refuso" nel /etc/sudoersfile ...

jeff ALL=NOPASSWD: ALL

doveva essere alla fine del file. La Guida di Ubuntu dice solo Aggiungi (...) alla FINE del file (se non alla fine può essere annullato da voci successive)

Dopodiché, la password non viene mai richiesta per i "comandi sudo di jeff, né localmente né tramite SSH.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.