터미널을 통해 명시적으로 입력하지 않고 쉘 스크립트에서 루트 비밀번호를 제공할 수 있는 방법이 있습니까?
답변1
네, 사용할 수 있습니다 expect
. 아래 명령을 사용하여 아직 설치하지 않은 경우 설치하십시오.
sudo apt-get install expect
그런 다음 스크립트에서
#!/usr/bin/expect -f
#define password
export pass = "myPass"
spawn ssh root@remotehost
# detect password prompt
expect "*?assword:*"
# send $password
send -- "$pass\r"
#return
send -- "\r"
expect eof