Bash 스크립트: 예상 사용

Bash 스크립트: 예상 사용

단순히 이 명령을 실행하면 문제가 발생합니다.

처음으로 scp를 사용하여 연결이 설정되므로 원격 서버는 RSA 파일에 키를 추가하기 위해 "yes"가 전달될 것으로 예상합니다.

명령은 다음과 같습니다

#!/bin/bash

scp  -P58222 root@IP:/root/K /N
/usr/bin/expect -c 'expect "\n" { expect "Are you sure you want to continue connecting (yes/no)?" }'
send "yes\r"
expect "$ "
send "exit\r"

yes실제로 표시할 때 스크립트를 전달 해야 합니다.

Are you sure you want to continue connecting (yes/no)?

이 문제를 어떻게 없앨 수 있습니까 ..?

답변1

Expect를 사용하여 응답을 스크립팅할 필요가 없습니다. 추가하기 전에 프롬프트를 닫으시면 됩니다.

scp -o "StrictHostKeyChecking no" ...

expect처음에는 ssh를 사용하고 있으므로 ssh-copy-id비밀번호 없는 ssh를 설정하는 것이 더 나은 접근 방식이라고 말하고 싶습니다.

답변2

다음은 내 작업 스크립트의 일부입니다.

  send_user "FILE \"FILETEMPL\" is copied to active.\n"  
  spawn scp -l 60 FILETEMPL root@IP:PATHTEMPL/FILETEMPL  
  # After scp we should wait "#" or "100%".  
  set timeout 600  
  expect {  
    "password: " {   
      send "PASS\r"   
        expect {  
          "100% "         {...}  
          "password: " { .. }  
          timeout      { ... }  
      }   
    }  
    timeout      { exit 1 }  
    eof          { exit 2 }  
  }   

관련 정보