ฉันมีเซิร์ฟเวอร์ A และเซิร์ฟเวอร์ B (ทั้ง Ubuntu 10.04 LTS) ทำงานต่าง ๆ เซิร์ฟเวอร์ A จำเป็นต้องกระตุ้นเซิร์ฟเวอร์ B ซึ่งสร้างไฟล์และ scp ของมันกลับไปที่เซิร์ฟเวอร์ A เมื่อเสร็จสิ้น ทั้งหมดนี้เป็นของในบ้านและฉันก็ไม่ได้กังวลเกี่ยวกับปัญหาด้านความปลอดภัย การแลกเปลี่ยนคีย์ SSH ได้ดำเนินการระหว่างเซิร์ฟเวอร์ A และ B แล้วและทำงานได้ดี
บนเซิร์ฟเวอร์ B สคริปต์generateOfflineSig
ดูเหมือนว่า
#!/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
บนเซิร์ฟเวอร์ B visudo ก็มีรายการนี้เช่นกัน:
jeff ALL=NOPASSWD: ALL
จะทำงานได้อย่างไรหากฉันใช้งานsudo ls
เซิร์ฟเวอร์ B ... ไม่ถามรหัสผ่าน
น่าเสียดายที่ SSH มักถามรหัสผ่านบนเซิร์ฟเวอร์ A:
jeff@servera:~$ ssh -t jeff@serverb /home/jeff/generateOfflineSig "incron"
in script
[sudo] password for jeff:
ความคิดใด ๆ กระบวนการนี้ไม่สามารถถูกขัดจังหวะด้วยการป้อนรหัสผ่าน
/etc/sudoers
ไวยากรณ์# %wheel ALL=(ALL) NOPASSWD: ALL
แต่ไฟล์ของฉันมีสาย บางทีสายของคุณควรจะเป็นjeff ALL=(ALL) NOPASSWD: ALL
อย่างไร