서버 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:
어떤 아이디어? 비밀번호 입력으로이 프로세스를 중단 할 수 없습니다.
전체 원격 명령을 따옴표로 묶을 필요는 없습니까? Sever A
—
TheLQ
실은 ... 나는 스냅 슈가 뭔가에 있다고 생각합니다. 나는 나중에 내 자신의 질문에 대답 할 것입니다 ...
—
Jeff
/etc/sudoers
구문을 100 % 확신 할 수 없지만 파일에 줄이# %wheel ALL=(ALL) NOPASSWD: ALL
있습니다. 아마 당신의 라인은jeff ALL=(ALL) NOPASSWD: ALL
?