SSH를 통해 다른 서버에서 sudo NOPASSWD 명령을 실행하는 방법


2

문제와 관련된 모든 게시물을 읽었습니다. 그러나 내 모습도 볼 수 있고 제안 할 수 있다면.

암호가없는 SSH를 수행하고 원격 서버에서 스크립트를 실행하려고합니다. 그러나 Sudo 액세스는 비밀번호를 묻습니다. 제안 해주세요. 로컬 경로에 적합했습니다. 그러나 모든 명령 또는 스크립트는 루트 액세스가 필요합니다.

아래는 스크립트입니다 :

#!/bin/sh
#set -x
# This Script will search for mib files on Current Server and other Server
# to load mib on current Server.

if [ -f /home/shuksand/Script/MibSearch.conf ]
then
        . /home/shuksand/Script/MibSearch.conf
else
        echo "Failed to find config file. Hence Existing!!!!"
fi

# Check alll MIBS on Server


while read line
do
        ServerName=$line
        echo $line
        scp  /home/shuksand/Input/Mib.txt $ServerName:
        cat /home/shuksand/Input/Mib.txt | while read DATA
        do
                echo $DATA
                ssh -t -t shuksand@${ServerName} 'sudo su - root /bin/sh /home/shuksand/Mib.sh $DATA'
        done
done < /home/shuksand/Input/ServerList.txt

미리 감사드립니다 !!

답변:


0

당신이해야 할 일은 / etc / sudoers 파일을 편집하는 것입니다. 다음과 같이 추가하십시오 :

<your username> ALL=(ALL) NOPASSWD: ALL

자세한 내용은 여기를 참조 하십시오 : https://askubuntu.com/questions/147241/execute-sudo-without-password

질문 형식을 수정하도록 제안해도 되겠습니까? 당신이 쓰는 것 (대본)의 대부분은 실제로 당신의 질문과 관련이 없습니다.

편집 : Mib.sh 파일을 실행 파일로 올바르게 설정하고 파일 시작 부분에! # / bin / sh 줄을 포함하면 실행해야 할 것은 'sudo su-/home/shuksand/Mib.sh입니다. $ DATA '(su를 수행 할 때 "root"가 암시 적 / 기본값 임)


0

이 문제는 일반적으로 sudoers 파일로 인해 발생합니다. 한 가지 시도 할 사항은 스크립트를 sh로 실행 한 다음 해당 sh 프롬프트에서 sudo 명령을 실행하여 비밀번호가 필요한지 확인하는 것입니다.

sudo는 최근에 같은 로그인에서 비밀번호를 인증했는지 기억하는 경향이 있습니다. 따라서 sudo가 한 번 충분히 인증 된 것으로 생각되면 (아마도 암호를 입력했을 수 있음) / etc / sudoers를 변경 한 후 sudo를 다시 시도하면 sudo에서 프롬프트를 표시하지 않을 수 있으므로 잘못 오인 될 수 있습니다. sudo는 5 분 전에 테스트를 통과했음을 기억할 수 있습니다. 이것은 / etc / sudoers (man sudoers)의 "timeout"값에 의해 설정됩니다.

sudo su-루트 / bin / sh /home/shuksand/Mib.sh $ DATA

아마도 불필요하게 뒤얽힌 것 같습니다. 때로는 sudo가 작동하는 것을 보았고 su가 실패하거나 그 반대도 마찬가지입니다. 이 명령은 둘 다 작동해야합니다. 많은 시스템에서

sudo -i ~ shuksand / Mib.sh $ DATA

아마 같은 일을 할 것입니다.

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