Làm cách nào để kích hoạt các lệnh sudo qua SSH mà không cần hỏi mật khẩu?


13

Tôi có máy chủ A và máy chủ B (cả Ubuntu 10.04 LTS) đang thực hiện các tác vụ khác nhau. Máy chủ A cần chọc Máy chủ B, tạo ra một tệp và quay lại máy chủ A khi hoàn tất. Đây là tất cả trong nhà và tôi không quá quan tâm đến các vấn đề an ninh. Trao đổi khóa SSH đã được thực hiện giữa các máy chủ A và B và hoạt động tốt.

Trên máy chủ B, tập lệnh generateOfflineSigtrông giống như

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

Ngoài ra trên máy chủ B, visudo có mục này:

jeff ALL=NOPASSWD: ALL

Nó hoạt động nếu tôi thực thi sudo lstrên Máy chủ B ... không yêu cầu mật khẩu.

Thật không may, SSH luôn yêu cầu mật khẩu trên Máy chủ A:

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

Có ý kiến ​​gì không? Quá trình này không thể bị gián đoạn bởi đầu vào mật khẩu.


Không chắc chắn 100% về /etc/sudoerscú pháp, nhưng tệp của tôi có dòng # %wheel ALL=(ALL) NOPASSWD: ALL. Có lẽ dòng của bạn nên được jeff ALL=(ALL) NOPASSWD: ALL?
snapshoe

Không phải toàn bộ lệnh từ xa phải được trích dẫn? Bạn có thể đang thực thi kịch bản trên Sever A
TheLQ

Trên thực tế ... tôi nghĩ snapshoe là một cái gì đó. Tôi sẽ trả lời câu hỏi của riêng tôi một lát sau ...
Jeff

Câu trả lời:


16

Có vẻ như tôi đã có một "lỗi đánh máy" trong /etc/sudoerstập tin ...

jeff ALL=NOPASSWD: ALL

cần thiết ở cuối tập tin Trợ giúp Ubuntu chỉ nói Thêm (...) vào KẾT THÚC của tệp (nếu không ở cuối, nó có thể bị vô hiệu hóa bởi các mục sau)

Sau đó, mật khẩu không bao giờ được yêu cầu "các lệnh sudo của jeff, cục bộ hoặc qua SSH.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.