Parola sormadan sudo komutlarını SSH üzerinden etkinleştirmek nasıl?


13

Sunucu A ve sunucu B (hem Ubuntu 10.04 LTS) farklı görevler yapıyorum. Sunucu A'nın bir dosya oluşturan Sunucu B'yi dürtmesi gerekir ve işlem bittiğinde onu A sunucusuna geri döndürür. Bunların hepsi kurum içi ve güvenlik konularında endişelenmiyorum. SSH Anahtar değişimi A ve B sunucuları arasında zaten yapıldı ve iyi çalışıyor.

B sunucusunda, komut dosyası generateOfflineSiggibi görünüyor

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

Ayrıca B sunucusunda, visudo bu girişe sahiptir:

jeff ALL=NOPASSWD: ALL

sudo lsB sunucusunda çalışırsam hangisi çalışır ... şifre sorulmaz

Maalesef SSH, Sunucu A'da her zaman bir şifre ister:

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

Herhangi bir fikir? Bu işlem şifre girişi ile kesilemez.


% 100 /etc/sudoerssözdiziminden emin değil , ancak dosyamda satır var # %wheel ALL=(ALL) NOPASSWD: ALL. Belki de hattın olmalı jeff ALL=(ALL) NOPASSWD: ALL?
snapshoe

Uzaktan kumanda komutunun tamamı tırnak içinde olmak zorunda değil mi? Sever A
TheLQ

Aslında ... Sanırım snapshoe bir şeye bağlı. Kendi soruma biraz sonra cevap vereceğim ...
Jeff

Yanıtlar:


15

Görünüşe göre /etc/sudoersdosyada bir "yazım hatası" vardı ...

jeff ALL=NOPASSWD: ALL

Dosyanın en sonunda olması gerekiyordu . Ubuntu Yardım, yalnızca dosyanın END'sine Ekle (...) diyor (sonunda değilse daha sonra girişler tarafından geçersiz kılınabilir)

Ondan sonra, hiçbir zaman yerel olarak veya SSH üzerinden "jeff'in sudo komutları için parola sorulmaz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.