비밀번호를 묻지 않고 SSH를 통해 sudo 명령을 활성화하는 방법은 무엇입니까?


13

서버 A와 서버 B (Ubuntu 10.04 LTS)가 다른 작업을 수행하고 있습니다. 서버 A는 서버 B를 찔러 파일을 생성하고 완료되면 서버 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구문을 100 % 확신 할 수 없지만 파일에 줄이 # %wheel ALL=(ALL) NOPASSWD: ALL있습니다. 아마 당신의 라인은 jeff ALL=(ALL) NOPASSWD: ALL?
snapshoe

전체 원격 명령을 따옴표로 묶을 필요는 없습니까? Sever A
TheLQ

실은 ... 나는 스냅 슈가 뭔가에 있다고 생각합니다. 나는 나중에 내 자신의 질문에 대답 할 것입니다 ...
Jeff

답변:


16

/etc/sudoers파일 에 "오타"가있는 것 같습니다 ...

jeff ALL=NOPASSWD: ALL

파일 의 맨 끝에 있어야했습니다 . Ubuntu 도움말 은 파일 끝에 덧셈 (...) 만 표시 합니다 (끝이 없으면 나중에 입력하여 무효화 할 수 있음).

그 후에는 암호가 "jeff 's sudo 명령에 대해 로컬 또는 SSH를 통해 묻지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.