셸 스 크 립 트 암호 없 이 expect 에 로그 인 하 는 방법 에 대한 자세 한 설명

2635 단어 shellexpect
셸 스 크 립 트 암호 없 이 expect 에 로그 인 하 는 방법 에 대한 자세 한 설명
오늘 은 최신 패 킷 파일 을 원 격 서버 에 전송 하 는 정시 작업 스 크 립 트 가 필요 합 니 다.키 가 있 지만 비밀 번 호 를 입력 해 야 하기 때문에 스 크 립 트 가 자동 으로 비밀 번 호 를 입력 할 수 있 도록 다른 방법 을 강구 할 수 밖 에 없습니다.
인터넷 에서 expect 를 사용 할 수 있다 는 것 을 알 아 냈 습 니 다.간단하게 연 구 했 는데 효과 가 좋 습 니 다. 
제 운영 체제 에 expect 가 설치 되 어 있 지 않 기 때문에'yum-y install expect'를 직접 설치 할 수 있 습 니 다.운영 체제 에 따라 expect 를 설치 하거나 소스 코드 를 컴 파일 할 수 있 습 니 다.
설치 한 후에 사용 할 수 있 습 니 다.여기 몇 가지 방법 이 있 습 니 다.
각본
예 를 들 어 autoscp.sh:

#!/usr/bin/expect 
#        
set server_ip [lindex $argv 0] 
#         [lindex $argv n] 
set server_port 22 
set server_dir /home/test
set server_user test
set server_pswd test
set scp_file auto_scp.sh 
                                               
#        
set timeout 60 
spawn scp -P $server_port $scp_file $server_user@$server_ip:$server_dir 
expect { 
    "passphrase"
    { 
      send "$server_pswd
"; } "password" { send "$server_pswd
"; } "yes/no" { send "yes
"; exp_continue; } } expect eof
내 가 있 는 변 수 는 모두 임의로 설정 되 어 있 습 니 다.당신 의 상황 에 따라 선택 할 수 있 습 니 다.저장 하고 종료 한 후에 이 파일 에 실행 가능 한 권한 을 추가 하여 실행 할 수 있 습 니 다.
"./auto_scp.sh 2.2.2.2"이면 됩 니 다."2.2.2.2"가 들 어 오 는 첫 번 째 매개 변수 입 니 다.
"passphrase"와"password"등 은 입력 알림 의 일부분 을 모니터링 하 는 것 입 니 다.send"$serverpswd"는 실행 할 명령 입 니 다.
2.스 크 립 트 에서 사용-나 는 이것 을 비교적 좋아한다.
여기 서 사용 하 는 것 은 Here document 방법 입 니 다.

...... 
...... 
expect <<!! 
set timeout 60 
spawn scp -P $server_port $scp_file $server_user@$server_ip:$server_dir 
expect { 
    "passphrase"
    { 
      send "$server_pswd
"; } "password" { send "$server_pswd
"; } "yes/no" { send "yes
"; exp_continue; } } expect eof !! ......
변 수 는 모두 내 가 설정 파일 에서 가 져 온 것 이 니 더 이상 군말 하지 않 겠 습 니 다.
3.스 크 립 트 에서 사용
스 크 립 트 에서 도 사용 되 지만 Here document 방법 이 아니 라 expect-c 매개 변수 책 을 사용 합 니 다."-c"옵션 뒤의 문자열 을 채 우 는 것 이 명령 입 니 다.그러나 자체 문자열 의 전의 자 를 주의해 야 한다.
궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 을 교류 하 세 요.읽 어 주 셔 서 감사합니다. 도움 이 되 셨 으 면 좋 겠 습 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기